{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "      性别  遗传性肾脏病病史  肾移植病史  肾穿刺活检术史  高血压病史  糖尿病病史  高尿血酸症  肾脏超声发现构造异常  尿常规蛋白指标  \\\n",
      "0      1         0      0        0      1      0      0           0        0   \n",
      "2      0         0      0        0      1      0      0           0        1   \n",
      "3      0         0      0        0      1      0      0           0        1   \n",
      "4      0         0      0        0      1      0      0           0        1   \n",
      "6      0         0      0        0      1      1      0           0        0   \n",
      "...   ..       ...    ...      ...    ...    ...    ...         ...      ...   \n",
      "1142   1         0      0        0      0      1      0           0        1   \n",
      "1143   0         0      0        0      1      1      0           0        0   \n",
      "1144   1         0      0        0      1      1      0           0        1   \n",
      "1145   0         0      0        0      0      1      0           0        0   \n",
      "1147   0         0      0        0      1      0      0           0        0   \n",
      "\n",
      "      尿白蛋白肌酐比  血肌酐  eGFR  \n",
      "0           0  0.0  88.1  \n",
      "2           2  0.0  85.0  \n",
      "3           0  0.0  87.6  \n",
      "4           1  0.0  79.5  \n",
      "6           1  0.0  99.2  \n",
      "...       ...  ...   ...  \n",
      "1142        2  0.0  93.8  \n",
      "1143        1  0.0  92.9  \n",
      "1144        1  0.0  89.9  \n",
      "1145        0  0.0  85.9  \n",
      "1147        0  0.0  83.4  \n",
      "\n",
      "[793 rows x 12 columns]\n",
      "0       0\n",
      "2       2\n",
      "3       0\n",
      "4       1\n",
      "6       1\n",
      "       ..\n",
      "1142    2\n",
      "1143    1\n",
      "1144    1\n",
      "1145    0\n",
      "1147    1\n",
      "Name: CKD分层, Length: 793, dtype: int64\n",
      "(555, 12)\n",
      "(238, 12)\n",
      "0.7983193277310925\n",
      "[Text(128.53716264204547, 210.645, 'X[11] <= 53.15\\nentropy = 1.803\\nsamples = 555\\nvalue = [114, 270, 96, 75]'), Text(41.85, 197.055, 'X[11] <= 29.85\\nentropy = 1.292\\nsamples = 130\\nvalue = [0, 10, 49, 71]'), Text(12.174545454545456, 183.465, 'X[4] <= 0.5\\nentropy = 0.258\\nsamples = 46\\nvalue = [0, 2, 0, 44]'), Text(6.087272727272728, 169.875, 'X[8] <= 0.5\\nentropy = 1.0\\nsamples = 2\\nvalue = [0, 1, 0, 1]'), Text(3.043636363636364, 156.285, 'entropy = 0.0\\nsamples = 1\\nvalue = [0, 0, 0, 1]'), Text(9.130909090909093, 156.285, 'entropy = 0.0\\nsamples = 1\\nvalue = [0, 1, 0, 0]'), Text(18.261818181818185, 169.875, 'X[8] <= 0.5\\nentropy = 0.156\\nsamples = 44\\nvalue = [0, 1, 0, 43]'), Text(15.218181818181819, 156.285, 'X[0] <= 0.5\\nentropy = 0.391\\nsamples = 13\\nvalue = [0, 1, 0, 12]'), Text(12.174545454545456, 142.695, 'entropy = 0.0\\nsamples = 10\\nvalue = [0, 0, 0, 10]'), Text(18.261818181818185, 142.695, 'X[5] <= 0.5\\nentropy = 0.918\\nsamples = 3\\nvalue = [0, 1, 0, 2]'), Text(15.218181818181819, 129.10500000000002, 'X[7] <= 0.5\\nentropy = 1.0\\nsamples = 2\\nvalue = [0, 1, 0, 1]'), Text(12.174545454545456, 115.515, 'entropy = 0.0\\nsamples = 1\\nvalue = [0, 1, 0, 0]'), Text(18.261818181818185, 115.515, 'entropy = 0.0\\nsamples = 1\\nvalue = [0, 0, 0, 1]'), Text(21.30545454545455, 129.10500000000002, 'entropy = 0.0\\nsamples = 1\\nvalue = [0, 0, 0, 1]'), Text(21.30545454545455, 156.285, 'entropy = 0.0\\nsamples = 31\\nvalue = [0, 0, 0, 31]'), Text(71.52545454545455, 183.465, 'X[11] <= 46.6\\nentropy = 1.303\\nsamples = 84\\nvalue = [0, 8, 49, 27]'), Text(48.69818181818182, 169.875, 'X[9] <= 0.5\\nentropy = 1.236\\nsamples = 59\\nvalue = [0, 3, 30, 26]'), Text(36.52363636363637, 156.285, 'X[11] <= 44.9\\nentropy = 1.069\\nsamples = 35\\nvalue = [0, 2, 25, 8]'), Text(33.480000000000004, 142.695, 'X[7] <= 0.5\\nentropy = 0.799\\nsamples = 33\\nvalue = [0, 0, 25, 8]'), Text(27.392727272727274, 129.10500000000002, 'X[11] <= 44.6\\nentropy = 0.619\\nsamples = 26\\nvalue = [0, 0, 22, 4]'), Text(24.34909090909091, 115.515, 'X[5] <= 0.5\\nentropy = 0.529\\nsamples = 25\\nvalue = [0, 0, 22, 3]'), Text(21.30545454545455, 101.925, 'X[11] <= 32.3\\nentropy = 0.811\\nsamples = 12\\nvalue = [0, 0, 9, 3]'), Text(18.261818181818185, 88.33500000000001, 'entropy = 0.0\\nsamples = 2\\nvalue = [0, 0, 2, 0]'), Text(24.34909090909091, 88.33500000000001, 'X[11] <= 32.82\\nentropy = 0.881\\nsamples = 10\\nvalue = [0, 0, 7, 3]'), Text(21.30545454545455, 74.745, 'entropy = 0.0\\nsamples = 1\\nvalue = [0, 0, 0, 1]'), Text(27.392727272727274, 74.745, 'X[0] <= 0.5\\nentropy = 0.764\\nsamples = 9\\nvalue = [0, 0, 7, 2]'), Text(24.34909090909091, 61.155, 'entropy = 0.0\\nsamples = 5\\nvalue = [0, 0, 5, 0]'), Text(30.436363636363637, 61.155, 'X[11] <= 37.1\\nentropy = 1.0\\nsamples = 4\\nvalue = [0, 0, 2, 2]'), Text(27.392727272727274, 47.565, 'entropy = 0.0\\nsamples = 1\\nvalue = [0, 0, 0, 1]'), Text(33.480000000000004, 47.565, 'X[6] <= 0.5\\nentropy = 0.918\\nsamples = 3\\nvalue = [0, 0, 2, 1]'), Text(30.436363636363637, 33.974999999999994, 'entropy = 0.0\\nsamples = 2\\nvalue = [0, 0, 2, 0]'), Text(36.52363636363637, 33.974999999999994, 'entropy = 0.0\\nsamples = 1\\nvalue = [0, 0, 0, 1]'), Text(27.392727272727274, 101.925, 'entropy = 0.0\\nsamples = 13\\nvalue = [0, 0, 13, 0]'), Text(30.436363636363637, 115.515, 'entropy = 0.0\\nsamples = 1\\nvalue = [0, 0, 0, 1]'), Text(39.56727272727273, 129.10500000000002, 'X[6] <= 0.5\\nentropy = 0.985\\nsamples = 7\\nvalue = [0, 0, 3, 4]'), Text(36.52363636363637, 115.515, 'X[11] <= 39.4\\nentropy = 0.722\\nsamples = 5\\nvalue = [0, 0, 1, 4]'), Text(33.480000000000004, 101.925, 'entropy = 0.0\\nsamples = 3\\nvalue = [0, 0, 0, 3]'), Text(39.56727272727273, 101.925, 'X[4] <= 0.5\\nentropy = 1.0\\nsamples = 2\\nvalue = [0, 0, 1, 1]'), Text(36.52363636363637, 88.33500000000001, 'entropy = 0.0\\nsamples = 1\\nvalue = [0, 0, 0, 1]'), Text(42.6109090909091, 88.33500000000001, 'entropy = 0.0\\nsamples = 1\\nvalue = [0, 0, 1, 0]'), Text(42.6109090909091, 115.515, 'entropy = 0.0\\nsamples = 2\\nvalue = [0, 0, 2, 0]'), Text(39.56727272727273, 142.695, 'entropy = 0.0\\nsamples = 2\\nvalue = [0, 2, 0, 0]'), Text(60.872727272727275, 156.285, 'X[11] <= 39.65\\nentropy = 0.974\\nsamples = 24\\nvalue = [0, 1, 5, 18]'), Text(54.78545454545455, 142.695, 'X[4] <= 0.5\\nentropy = 0.469\\nsamples = 10\\nvalue = [0, 1, 0, 9]'), Text(51.74181818181819, 129.10500000000002, 'X[11] <= 33.825\\nentropy = 1.0\\nsamples = 2\\nvalue = [0, 1, 0, 1]'), Text(48.69818181818182, 115.515, 'entropy = 0.0\\nsamples = 1\\nvalue = [0, 0, 0, 1]'), Text(54.78545454545455, 115.515, 'entropy = 0.0\\nsamples = 1\\nvalue = [0, 1, 0, 0]'), Text(57.829090909090915, 129.10500000000002, 'entropy = 0.0\\nsamples = 8\\nvalue = [0, 0, 0, 8]'), Text(66.96000000000001, 142.695, 'X[11] <= 40.5\\nentropy = 0.94\\nsamples = 14\\nvalue = [0, 0, 5, 9]'), Text(63.91636363636364, 129.10500000000002, 'entropy = 0.0\\nsamples = 2\\nvalue = [0, 0, 2, 0]'), Text(70.00363636363637, 129.10500000000002, 'X[11] <= 42.7\\nentropy = 0.811\\nsamples = 12\\nvalue = [0, 0, 3, 9]'), Text(66.96000000000001, 115.515, 'entropy = 0.0\\nsamples = 6\\nvalue = [0, 0, 0, 6]'), Text(73.04727272727274, 115.515, 'X[9] <= 1.5\\nentropy = 1.0\\nsamples = 6\\nvalue = [0, 0, 3, 3]'), Text(70.00363636363637, 101.925, 'entropy = 0.0\\nsamples = 3\\nvalue = [0, 0, 3, 0]'), Text(76.0909090909091, 101.925, 'entropy = 0.0\\nsamples = 3\\nvalue = [0, 0, 0, 3]'), Text(94.35272727272728, 169.875, 'X[9] <= 0.5\\nentropy = 0.951\\nsamples = 25\\nvalue = [0, 5, 19, 1]'), Text(88.26545454545456, 156.285, 'X[11] <= 52.95\\nentropy = 0.954\\nsamples = 8\\nvalue = [0, 5, 3, 0]'), Text(85.2218181818182, 142.695, 'X[11] <= 50.6\\nentropy = 0.863\\nsamples = 7\\nvalue = [0, 5, 2, 0]'), Text(82.17818181818183, 129.10500000000002, 'X[11] <= 49.0\\nentropy = 0.918\\nsamples = 3\\nvalue = [0, 1, 2, 0]'), Text(79.13454545454546, 115.515, 'entropy = 0.0\\nsamples = 1\\nvalue = [0, 1, 0, 0]'), Text(85.2218181818182, 115.515, 'entropy = 0.0\\nsamples = 2\\nvalue = [0, 0, 2, 0]'), Text(88.26545454545456, 129.10500000000002, 'entropy = 0.0\\nsamples = 4\\nvalue = [0, 4, 0, 0]'), Text(91.30909090909091, 142.695, 'entropy = 0.0\\nsamples = 1\\nvalue = [0, 0, 1, 0]'), Text(100.44000000000001, 156.285, 'X[0] <= 0.5\\nentropy = 0.323\\nsamples = 17\\nvalue = [0, 0, 16, 1]'), Text(97.39636363636365, 142.695, 'entropy = 0.0\\nsamples = 9\\nvalue = [0, 0, 9, 0]'), Text(103.48363636363638, 142.695, 'X[5] <= 0.5\\nentropy = 0.544\\nsamples = 8\\nvalue = [0, 0, 7, 1]'), Text(100.44000000000001, 129.10500000000002, 'X[11] <= 51.25\\nentropy = 0.811\\nsamples = 4\\nvalue = [0, 0, 3, 1]'), Text(97.39636363636365, 115.515, 'entropy = 0.0\\nsamples = 1\\nvalue = [0, 0, 0, 1]'), Text(103.48363636363638, 115.515, 'entropy = 0.0\\nsamples = 3\\nvalue = [0, 0, 3, 0]'), Text(106.52727272727273, 129.10500000000002, 'entropy = 0.0\\nsamples = 4\\nvalue = [0, 0, 4, 0]'), Text(215.22432528409092, 197.055, 'X[9] <= 0.5\\nentropy = 1.358\\nsamples = 425\\nvalue = [114, 260, 47, 4]'), Text(145.7140909090909, 183.465, 'X[10] <= 1.5\\nentropy = 1.071\\nsamples = 147\\nvalue = [101, 40, 6, 0]'), Text(136.2027272727273, 169.875, 'X[11] <= 97.35\\nentropy = 0.711\\nsamples = 119\\nvalue = [101, 15, 3, 0]'), Text(133.15909090909093, 156.285, 'X[11] <= 83.8\\nentropy = 0.84\\nsamples = 92\\nvalue = [74, 15, 3, 0]'), Text(120.22363636363637, 142.695, 'X[11] <= 78.1\\nentropy = 1.036\\nsamples = 43\\nvalue = [31, 10, 2, 0]'), Text(112.61454545454546, 129.10500000000002, 'X[11] <= 69.7\\nentropy = 0.802\\nsamples = 33\\nvalue = [27, 5, 1, 0]'), Text(109.5709090909091, 115.515, 'X[11] <= 63.25\\nentropy = 1.105\\nsamples = 19\\nvalue = [13, 5, 1, 0]'), Text(106.52727272727273, 101.925, 'entropy = 0.0\\nsamples = 5\\nvalue = [5, 0, 0, 0]'), Text(112.61454545454546, 101.925, 'X[11] <= 63.85\\nentropy = 1.264\\nsamples = 14\\nvalue = [8, 5, 1, 0]'), Text(106.52727272727273, 88.33500000000001, 'X[5] <= 0.5\\nentropy = 0.918\\nsamples = 3\\nvalue = [0, 2, 1, 0]'), Text(103.48363636363638, 74.745, 'entropy = 0.0\\nsamples = 1\\nvalue = [0, 0, 1, 0]'), Text(109.5709090909091, 74.745, 'entropy = 0.0\\nsamples = 2\\nvalue = [0, 2, 0, 0]'), Text(118.7018181818182, 88.33500000000001, 'X[11] <= 67.2\\nentropy = 0.845\\nsamples = 11\\nvalue = [8, 3, 0, 0]'), Text(115.65818181818183, 74.745, 'entropy = 0.0\\nsamples = 6\\nvalue = [6, 0, 0, 0]'), Text(121.74545454545455, 74.745, 'X[5] <= 0.5\\nentropy = 0.971\\nsamples = 5\\nvalue = [2, 3, 0, 0]'), Text(118.7018181818182, 61.155, 'entropy = 0.0\\nsamples = 2\\nvalue = [0, 2, 0, 0]'), Text(124.78909090909092, 61.155, 'X[6] <= 0.5\\nentropy = 0.918\\nsamples = 3\\nvalue = [2, 1, 0, 0]'), Text(121.74545454545455, 47.565, 'entropy = 0.0\\nsamples = 2\\nvalue = [2, 0, 0, 0]'), Text(127.83272727272728, 47.565, 'entropy = 0.0\\nsamples = 1\\nvalue = [0, 1, 0, 0]'), Text(115.65818181818183, 115.515, 'entropy = 0.0\\nsamples = 14\\nvalue = [14, 0, 0, 0]'), Text(127.83272727272728, 129.10500000000002, 'X[5] <= 0.5\\nentropy = 1.361\\nsamples = 10\\nvalue = [4, 5, 1, 0]'), Text(124.78909090909092, 115.515, 'X[4] <= 0.5\\nentropy = 1.149\\nsamples = 7\\nvalue = [1, 5, 1, 0]'), Text(121.74545454545455, 101.925, 'entropy = 0.0\\nsamples = 1\\nvalue = [1, 0, 0, 0]'), Text(127.83272727272728, 101.925, 'X[11] <= 81.5\\nentropy = 0.65\\nsamples = 6\\nvalue = [0, 5, 1, 0]'), Text(124.78909090909092, 88.33500000000001, 'entropy = 0.0\\nsamples = 4\\nvalue = [0, 4, 0, 0]'), Text(130.87636363636364, 88.33500000000001, 'X[11] <= 82.55\\nentropy = 1.0\\nsamples = 2\\nvalue = [0, 1, 1, 0]'), Text(127.83272727272728, 74.745, 'entropy = 0.0\\nsamples = 1\\nvalue = [0, 0, 1, 0]'), Text(133.92000000000002, 74.745, 'entropy = 0.0\\nsamples = 1\\nvalue = [0, 1, 0, 0]'), Text(130.87636363636364, 115.515, 'entropy = 0.0\\nsamples = 3\\nvalue = [3, 0, 0, 0]'), Text(146.09454545454548, 142.695, 'X[6] <= 0.5\\nentropy = 0.616\\nsamples = 49\\nvalue = [43, 5, 1, 0]'), Text(140.00727272727275, 129.10500000000002, 'X[11] <= 88.4\\nentropy = 0.489\\nsamples = 47\\nvalue = [42, 5, 0, 0]'), Text(136.96363636363637, 115.515, 'entropy = 0.0\\nsamples = 15\\nvalue = [15, 0, 0, 0]'), Text(143.0509090909091, 115.515, 'X[11] <= 88.7\\nentropy = 0.625\\nsamples = 32\\nvalue = [27, 5, 0, 0]'), Text(140.00727272727275, 101.925, 'entropy = 0.0\\nsamples = 2\\nvalue = [0, 2, 0, 0]'), Text(146.09454545454548, 101.925, 'X[11] <= 94.35\\nentropy = 0.469\\nsamples = 30\\nvalue = [27, 3, 0, 0]'), Text(143.0509090909091, 88.33500000000001, 'entropy = 0.0\\nsamples = 18\\nvalue = [18, 0, 0, 0]'), Text(149.13818181818183, 88.33500000000001, 'X[11] <= 94.75\\nentropy = 0.811\\nsamples = 12\\nvalue = [9, 3, 0, 0]'), Text(146.09454545454548, 74.745, 'entropy = 0.0\\nsamples = 1\\nvalue = [0, 1, 0, 0]'), Text(152.1818181818182, 74.745, 'X[11] <= 95.55\\nentropy = 0.684\\nsamples = 11\\nvalue = [9, 2, 0, 0]'), Text(149.13818181818183, 61.155, 'entropy = 0.0\\nsamples = 4\\nvalue = [4, 0, 0, 0]'), Text(155.22545454545457, 61.155, 'X[11] <= 96.0\\nentropy = 0.863\\nsamples = 7\\nvalue = [5, 2, 0, 0]'), Text(152.1818181818182, 47.565, 'entropy = 0.0\\nsamples = 1\\nvalue = [0, 1, 0, 0]'), Text(158.26909090909092, 47.565, 'X[4] <= 0.5\\nentropy = 0.65\\nsamples = 6\\nvalue = [5, 1, 0, 0]'), Text(155.22545454545457, 33.974999999999994, 'X[11] <= 96.9\\nentropy = 1.0\\nsamples = 2\\nvalue = [1, 1, 0, 0]'), Text(152.1818181818182, 20.38499999999999, 'entropy = 0.0\\nsamples = 1\\nvalue = [1, 0, 0, 0]'), Text(158.26909090909092, 20.38499999999999, 'entropy = 0.0\\nsamples = 1\\nvalue = [0, 1, 0, 0]'), Text(161.3127272727273, 33.974999999999994, 'entropy = 0.0\\nsamples = 4\\nvalue = [4, 0, 0, 0]'), Text(152.1818181818182, 129.10500000000002, 'X[11] <= 88.9\\nentropy = 1.0\\nsamples = 2\\nvalue = [1, 0, 1, 0]'), Text(149.13818181818183, 115.515, 'entropy = 0.0\\nsamples = 1\\nvalue = [1, 0, 0, 0]'), Text(155.22545454545457, 115.515, 'entropy = 0.0\\nsamples = 1\\nvalue = [0, 0, 1, 0]'), Text(139.24636363636364, 156.285, 'entropy = 0.0\\nsamples = 27\\nvalue = [27, 0, 0, 0]'), Text(155.22545454545457, 169.875, 'X[11] <= 57.8\\nentropy = 0.491\\nsamples = 28\\nvalue = [0, 25, 3, 0]'), Text(152.1818181818182, 156.285, 'entropy = 0.0\\nsamples = 17\\nvalue = [0, 17, 0, 0]'), Text(158.26909090909092, 156.285, 'X[4] <= 0.5\\nentropy = 0.845\\nsamples = 11\\nvalue = [0, 8, 3, 0]'), Text(155.22545454545457, 142.695, 'entropy = 0.0\\nsamples = 4\\nvalue = [0, 4, 0, 0]'), Text(161.3127272727273, 142.695, 'X[11] <= 58.7\\nentropy = 0.985\\nsamples = 7\\nvalue = [0, 4, 3, 0]'), Text(158.26909090909092, 129.10500000000002, 'entropy = 0.0\\nsamples = 2\\nvalue = [0, 0, 2, 0]'), Text(164.35636363636365, 129.10500000000002, 'X[11] <= 59.85\\nentropy = 0.722\\nsamples = 5\\nvalue = [0, 4, 1, 0]'), Text(161.3127272727273, 115.515, 'entropy = 0.0\\nsamples = 4\\nvalue = [0, 4, 0, 0]'), Text(167.4, 115.515, 'entropy = 0.0\\nsamples = 1\\nvalue = [0, 0, 1, 0]'), Text(284.73455965909096, 183.465, 'X[9] <= 1.5\\nentropy = 0.969\\nsamples = 278\\nvalue = [13, 220, 41, 4]'), Text(260.54002840909095, 169.875, 'X[10] <= 1.0\\nentropy = 0.747\\nsamples = 247\\nvalue = [13, 212, 21, 1]'), Text(244.10914772727276, 156.285, 'X[8] <= 0.5\\nentropy = 0.504\\nsamples = 229\\nvalue = [13, 210, 5, 1]'), Text(226.4655681818182, 142.695, 'X[11] <= 106.35\\nentropy = 0.659\\nsamples = 149\\nvalue = [13, 131, 4, 1]'), Text(200.3093181818182, 129.10500000000002, 'X[11] <= 71.15\\nentropy = 0.57\\nsamples = 143\\nvalue = [10, 129, 3, 1]'), Text(173.48727272727274, 115.515, 'X[11] <= 69.6\\nentropy = 0.7\\nsamples = 22\\nvalue = [0, 19, 2, 1]'), Text(167.4, 101.925, 'X[6] <= 0.5\\nentropy = 0.297\\nsamples = 19\\nvalue = [0, 18, 1, 0]'), Text(164.35636363636365, 88.33500000000001, 'entropy = 0.0\\nsamples = 17\\nvalue = [0, 17, 0, 0]'), Text(170.4436363636364, 88.33500000000001, 'X[5] <= 0.5\\nentropy = 1.0\\nsamples = 2\\nvalue = [0, 1, 1, 0]'), Text(167.4, 74.745, 'entropy = 0.0\\nsamples = 1\\nvalue = [0, 0, 1, 0]'), Text(173.48727272727274, 74.745, 'entropy = 0.0\\nsamples = 1\\nvalue = [0, 1, 0, 0]'), Text(179.57454545454547, 101.925, 'X[4] <= 0.5\\nentropy = 1.585\\nsamples = 3\\nvalue = [0, 1, 1, 1]'), Text(176.53090909090912, 88.33500000000001, 'entropy = 0.0\\nsamples = 1\\nvalue = [0, 1, 0, 0]'), Text(182.61818181818182, 88.33500000000001, 'X[0] <= 0.5\\nentropy = 1.0\\nsamples = 2\\nvalue = [0, 0, 1, 1]'), Text(179.57454545454547, 74.745, 'entropy = 0.0\\nsamples = 1\\nvalue = [0, 0, 1, 0]'), Text(185.6618181818182, 74.745, 'entropy = 0.0\\nsamples = 1\\nvalue = [0, 0, 0, 1]'), Text(227.13136363636366, 115.515, 'X[11] <= 89.05\\nentropy = 0.479\\nsamples = 121\\nvalue = [10, 110, 1, 0]'), Text(213.81545454545457, 101.925, 'X[11] <= 88.35\\nentropy = 0.686\\nsamples = 54\\nvalue = [7, 46, 1, 0]'), Text(202.40181818181821, 88.33500000000001, 'X[4] <= 0.5\\nentropy = 0.489\\nsamples = 47\\nvalue = [5, 42, 0, 0]'), Text(191.74909090909094, 74.745, 'X[0] <= 0.5\\nentropy = 0.971\\nsamples = 5\\nvalue = [2, 3, 0, 0]'), Text(188.70545454545456, 61.155, 'entropy = 0.0\\nsamples = 2\\nvalue = [0, 2, 0, 0]'), Text(194.7927272727273, 61.155, 'X[5] <= 0.5\\nentropy = 0.918\\nsamples = 3\\nvalue = [2, 1, 0, 0]'), Text(191.74909090909094, 47.565, 'X[11] <= 80.0\\nentropy = 1.0\\nsamples = 2\\nvalue = [1, 1, 0, 0]'), Text(188.70545454545456, 33.974999999999994, 'entropy = 0.0\\nsamples = 1\\nvalue = [0, 1, 0, 0]'), Text(194.7927272727273, 33.974999999999994, 'entropy = 0.0\\nsamples = 1\\nvalue = [1, 0, 0, 0]'), Text(197.83636363636364, 47.565, 'entropy = 0.0\\nsamples = 1\\nvalue = [1, 0, 0, 0]'), Text(213.05454545454546, 74.745, 'X[11] <= 87.1\\nentropy = 0.371\\nsamples = 42\\nvalue = [3, 39, 0, 0]'), Text(206.96727272727276, 61.155, 'X[11] <= 79.15\\nentropy = 0.196\\nsamples = 33\\nvalue = [1, 32, 0, 0]'), Text(203.92363636363638, 47.565, 'X[11] <= 78.6\\nentropy = 0.391\\nsamples = 13\\nvalue = [1, 12, 0, 0]'), Text(200.88000000000002, 33.974999999999994, 'entropy = 0.0\\nsamples = 12\\nvalue = [0, 12, 0, 0]'), Text(206.96727272727276, 33.974999999999994, 'entropy = 0.0\\nsamples = 1\\nvalue = [1, 0, 0, 0]'), Text(210.0109090909091, 47.565, 'entropy = 0.0\\nsamples = 20\\nvalue = [0, 20, 0, 0]'), Text(219.1418181818182, 61.155, 'X[11] <= 87.45\\nentropy = 0.764\\nsamples = 9\\nvalue = [2, 7, 0, 0]'), Text(216.09818181818184, 47.565, 'entropy = 0.0\\nsamples = 1\\nvalue = [1, 0, 0, 0]'), Text(222.18545454545458, 47.565, 'X[5] <= 0.5\\nentropy = 0.544\\nsamples = 8\\nvalue = [1, 7, 0, 0]'), Text(219.1418181818182, 33.974999999999994, 'entropy = 0.0\\nsamples = 5\\nvalue = [0, 5, 0, 0]'), Text(225.22909090909093, 33.974999999999994, 'X[11] <= 87.75\\nentropy = 0.918\\nsamples = 3\\nvalue = [1, 2, 0, 0]'), Text(222.18545454545458, 20.38499999999999, 'entropy = 0.0\\nsamples = 1\\nvalue = [0, 1, 0, 0]'), Text(228.27272727272728, 20.38499999999999, 'X[11] <= 88.05\\nentropy = 1.0\\nsamples = 2\\nvalue = [1, 1, 0, 0]'), Text(225.22909090909093, 6.7949999999999875, 'entropy = 0.0\\nsamples = 1\\nvalue = [1, 0, 0, 0]'), Text(231.31636363636366, 6.7949999999999875, 'entropy = 0.0\\nsamples = 1\\nvalue = [0, 1, 0, 0]'), Text(225.22909090909093, 88.33500000000001, 'X[11] <= 88.45\\nentropy = 1.379\\nsamples = 7\\nvalue = [2, 4, 1, 0]'), Text(222.18545454545458, 74.745, 'entropy = 0.0\\nsamples = 1\\nvalue = [0, 0, 1, 0]'), Text(228.27272727272728, 74.745, 'X[11] <= 88.7\\nentropy = 0.918\\nsamples = 6\\nvalue = [2, 4, 0, 0]'), Text(225.22909090909093, 61.155, 'entropy = 0.0\\nsamples = 1\\nvalue = [0, 1, 0, 0]'), Text(231.31636363636366, 61.155, 'X[11] <= 88.95\\nentropy = 0.971\\nsamples = 5\\nvalue = [2, 3, 0, 0]'), Text(228.27272727272728, 47.565, 'entropy = 0.0\\nsamples = 1\\nvalue = [1, 0, 0, 0]'), Text(234.36, 47.565, 'X[5] <= 0.5\\nentropy = 0.811\\nsamples = 4\\nvalue = [1, 3, 0, 0]'), Text(231.31636363636366, 33.974999999999994, 'entropy = 0.0\\nsamples = 2\\nvalue = [0, 2, 0, 0]'), Text(237.4036363636364, 33.974999999999994, 'entropy = 1.0\\nsamples = 2\\nvalue = [1, 1, 0, 0]'), Text(240.44727272727275, 101.925, 'X[11] <= 93.75\\nentropy = 0.264\\nsamples = 67\\nvalue = [3, 64, 0, 0]'), Text(237.4036363636364, 88.33500000000001, 'entropy = 0.0\\nsamples = 29\\nvalue = [0, 29, 0, 0]'), Text(243.4909090909091, 88.33500000000001, 'X[11] <= 93.9\\nentropy = 0.398\\nsamples = 38\\nvalue = [3, 35, 0, 0]'), Text(240.44727272727275, 74.745, 'entropy = 0.0\\nsamples = 1\\nvalue = [1, 0, 0, 0]'), Text(246.53454545454548, 74.745, 'X[5] <= 0.5\\nentropy = 0.303\\nsamples = 37\\nvalue = [2, 35, 0, 0]'), Text(243.4909090909091, 61.155, 'entropy = 0.0\\nsamples = 13\\nvalue = [0, 13, 0, 0]'), Text(249.57818181818183, 61.155, 'X[11] <= 99.95\\nentropy = 0.414\\nsamples = 24\\nvalue = [2, 22, 0, 0]'), Text(246.53454545454548, 47.565, 'X[11] <= 99.5\\nentropy = 0.544\\nsamples = 16\\nvalue = [2, 14, 0, 0]'), Text(243.4909090909091, 33.974999999999994, 'X[11] <= 96.0\\nentropy = 0.353\\nsamples = 15\\nvalue = [1, 14, 0, 0]'), Text(240.44727272727275, 20.38499999999999, 'X[11] <= 95.15\\nentropy = 0.65\\nsamples = 6\\nvalue = [1, 5, 0, 0]'), Text(237.4036363636364, 6.7949999999999875, 'entropy = 0.0\\nsamples = 5\\nvalue = [0, 5, 0, 0]'), Text(243.4909090909091, 6.7949999999999875, 'entropy = 0.0\\nsamples = 1\\nvalue = [1, 0, 0, 0]'), Text(246.53454545454548, 20.38499999999999, 'entropy = 0.0\\nsamples = 9\\nvalue = [0, 9, 0, 0]'), Text(249.57818181818183, 33.974999999999994, 'entropy = 0.0\\nsamples = 1\\nvalue = [1, 0, 0, 0]'), Text(252.6218181818182, 47.565, 'entropy = 0.0\\nsamples = 8\\nvalue = [0, 8, 0, 0]'), Text(252.6218181818182, 129.10500000000002, 'X[11] <= 107.0\\nentropy = 1.459\\nsamples = 6\\nvalue = [3, 2, 1, 0]'), Text(249.57818181818183, 115.515, 'entropy = 0.0\\nsamples = 1\\nvalue = [0, 0, 1, 0]'), Text(255.66545454545457, 115.515, 'X[5] <= 0.5\\nentropy = 0.971\\nsamples = 5\\nvalue = [3, 2, 0, 0]'), Text(252.6218181818182, 101.925, 'X[0] <= 0.5\\nentropy = 0.918\\nsamples = 3\\nvalue = [1, 2, 0, 0]'), Text(249.57818181818183, 88.33500000000001, 'entropy = 0.0\\nsamples = 2\\nvalue = [0, 2, 0, 0]'), Text(255.66545454545457, 88.33500000000001, 'entropy = 0.0\\nsamples = 1\\nvalue = [1, 0, 0, 0]'), Text(258.70909090909095, 101.925, 'entropy = 0.0\\nsamples = 2\\nvalue = [2, 0, 0, 0]'), Text(261.75272727272727, 142.695, 'X[7] <= 0.5\\nentropy = 0.097\\nsamples = 80\\nvalue = [0, 79, 1, 0]'), Text(258.70909090909095, 129.10500000000002, 'entropy = 0.0\\nsamples = 77\\nvalue = [0, 77, 0, 0]'), Text(264.79636363636365, 129.10500000000002, 'X[11] <= 72.85\\nentropy = 0.918\\nsamples = 3\\nvalue = [0, 2, 1, 0]'), Text(261.75272727272727, 115.515, 'entropy = 0.0\\nsamples = 1\\nvalue = [0, 1, 0, 0]'), Text(267.84000000000003, 115.515, 'X[11] <= 84.75\\nentropy = 1.0\\nsamples = 2\\nvalue = [0, 1, 1, 0]'), Text(264.79636363636365, 101.925, 'entropy = 0.0\\nsamples = 1\\nvalue = [0, 0, 1, 0]'), Text(270.8836363636364, 101.925, 'entropy = 0.0\\nsamples = 1\\nvalue = [0, 1, 0, 0]'), Text(276.9709090909091, 156.285, 'X[11] <= 58.85\\nentropy = 0.503\\nsamples = 18\\nvalue = [0, 2, 16, 0]'), Text(273.92727272727274, 142.695, 'entropy = 0.0\\nsamples = 12\\nvalue = [0, 0, 12, 0]'), Text(280.0145454545455, 142.695, 'X[8] <= 0.5\\nentropy = 0.918\\nsamples = 6\\nvalue = [0, 2, 4, 0]'), Text(276.9709090909091, 129.10500000000002, 'X[4] <= 0.5\\nentropy = 0.918\\nsamples = 3\\nvalue = [0, 2, 1, 0]'), Text(273.92727272727274, 115.515, 'entropy = 0.0\\nsamples = 1\\nvalue = [0, 1, 0, 0]'), Text(280.0145454545455, 115.515, 'X[11] <= 59.1\\nentropy = 1.0\\nsamples = 2\\nvalue = [0, 1, 1, 0]'), Text(276.9709090909091, 101.925, 'entropy = 0.0\\nsamples = 1\\nvalue = [0, 1, 0, 0]'), Text(283.0581818181818, 101.925, 'entropy = 0.0\\nsamples = 1\\nvalue = [0, 0, 1, 0]'), Text(283.0581818181818, 129.10500000000002, 'entropy = 0.0\\nsamples = 3\\nvalue = [0, 0, 3, 0]'), Text(308.9290909090909, 169.875, 'X[11] <= 64.7\\nentropy = 1.238\\nsamples = 31\\nvalue = [0, 8, 20, 3]'), Text(301.32000000000005, 156.285, 'X[10] <= 1.0\\nentropy = 1.557\\nsamples = 7\\nvalue = [0, 2, 2, 3]'), Text(298.27636363636367, 142.695, 'X[11] <= 63.95\\nentropy = 1.522\\nsamples = 5\\nvalue = [0, 2, 2, 1]'), Text(295.2327272727273, 129.10500000000002, 'X[6] <= 0.5\\nentropy = 1.0\\nsamples = 4\\nvalue = [0, 2, 2, 0]'), Text(292.18909090909096, 115.515, 'X[5] <= 0.5\\nentropy = 0.918\\nsamples = 3\\nvalue = [0, 2, 1, 0]'), Text(289.1454545454546, 101.925, 'X[11] <= 61.65\\nentropy = 1.0\\nsamples = 2\\nvalue = [0, 1, 1, 0]'), Text(286.1018181818182, 88.33500000000001, 'entropy = 0.0\\nsamples = 1\\nvalue = [0, 1, 0, 0]'), Text(292.18909090909096, 88.33500000000001, 'entropy = 0.0\\nsamples = 1\\nvalue = [0, 0, 1, 0]'), Text(295.2327272727273, 101.925, 'entropy = 0.0\\nsamples = 1\\nvalue = [0, 1, 0, 0]'), Text(298.27636363636367, 115.515, 'entropy = 0.0\\nsamples = 1\\nvalue = [0, 0, 1, 0]'), Text(301.32000000000005, 129.10500000000002, 'entropy = 0.0\\nsamples = 1\\nvalue = [0, 0, 0, 1]'), Text(304.3636363636364, 142.695, 'entropy = 0.0\\nsamples = 2\\nvalue = [0, 0, 0, 2]'), Text(316.53818181818184, 156.285, 'X[11] <= 90.3\\nentropy = 0.811\\nsamples = 24\\nvalue = [0, 6, 18, 0]'), Text(310.45090909090914, 142.695, 'X[11] <= 71.65\\nentropy = 0.371\\nsamples = 14\\nvalue = [0, 1, 13, 0]'), Text(307.40727272727275, 129.10500000000002, 'X[11] <= 67.75\\nentropy = 0.918\\nsamples = 3\\nvalue = [0, 1, 2, 0]'), Text(304.3636363636364, 115.515, 'entropy = 0.0\\nsamples = 1\\nvalue = [0, 0, 1, 0]'), Text(310.45090909090914, 115.515, 'X[0] <= 0.5\\nentropy = 1.0\\nsamples = 2\\nvalue = [0, 1, 1, 0]'), Text(307.40727272727275, 101.925, 'entropy = 0.0\\nsamples = 1\\nvalue = [0, 1, 0, 0]'), Text(313.49454545454546, 101.925, 'entropy = 0.0\\nsamples = 1\\nvalue = [0, 0, 1, 0]'), Text(313.49454545454546, 129.10500000000002, 'entropy = 0.0\\nsamples = 11\\nvalue = [0, 0, 11, 0]'), Text(322.6254545454546, 142.695, 'X[11] <= 93.65\\nentropy = 1.0\\nsamples = 10\\nvalue = [0, 5, 5, 0]'), Text(319.5818181818182, 129.10500000000002, 'entropy = 0.0\\nsamples = 3\\nvalue = [0, 3, 0, 0]'), Text(325.6690909090909, 129.10500000000002, 'X[5] <= 0.5\\nentropy = 0.863\\nsamples = 7\\nvalue = [0, 2, 5, 0]'), Text(322.6254545454546, 115.515, 'entropy = 0.0\\nsamples = 1\\nvalue = [0, 1, 0, 0]'), Text(328.7127272727273, 115.515, 'X[0] <= 0.5\\nentropy = 0.65\\nsamples = 6\\nvalue = [0, 1, 5, 0]'), Text(325.6690909090909, 101.925, 'entropy = 0.0\\nsamples = 1\\nvalue = [0, 1, 0, 0]'), Text(331.7563636363637, 101.925, 'entropy = 0.0\\nsamples = 5\\nvalue = [0, 0, 5, 0]')]\n"
     ]
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAWEAAADnCAYAAADPYeemAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8rg+JYAAAACXBIWXMAAAsTAAALEwEAmpwYAABMDklEQVR4nO29eXgcWXnv/zlau2VLlmSPFq9tjeWRbbyM7bHHFvYYMoQkDAmXZWDIDUu4CRCScC9LwhbIvrAEyHbZklwIP0JIuIQkXLKRkR3LwwyZGY81jJfR2JIsy5Jsq1uy5G5Jts/vj1PVbrWqqquqq7ta0vk8Tz9qVZ96z3ves9TpU3W+LaSUaDQajSYcysJ2QKPRaJYyehDWaDSaENGDsEaj0YSIHoQ1Go0mRPQgrNFoNCGiB2GNRqMJET0IazQaTYjoQVij0WhCRA/CGo1GEyJ6ENYAEI1Gh4UQ0s8rGo0Oh+2/RrNQEXrbsgZACCH9tgUhBFJKEbBLGs2SoCJsBzSlSXd3N8uXL6e+vp7x8XFaWlq4cOECANFolHXr1tHQ0BCylxrNwkcvR2gQQtRmH0skEiQSCXp6eojH4wDU19eTSqUYHx9ndHQ024a+oGs0PtAdZ4kghBDAGqDD4jVvSrtixQpGRka46667kFKSTCZpaWkhkUgAcM8992SfMimEOA+cyX5JKScKUyqNZuGj14QXGUKIamAT1oPtFGpgPM3cgfIicCufNWEgCrRn5LXF+HsPkMBicAYGfS9EazSLBD0IL1CEEI3MH2S3AOuAfuYPtGellHEHe7Krq4tYLMbg4CDt7e3Mzs6SSCS4ceMGTU1NDA8Pc/PmTSoqKrh58yarVq3i6tWrvPjFL7a9MSeEKAPWWvjZASwHzjJ/cH5eSjmdd5A0mgWAHoRLGCFEObCe+YNXB1CN9ezyBSnljNe8otHocCqVavbjZyQSGUkmky1ezxNC1KNmytkXk43AIPMvJGeklNf8+KjRlCp6EC4BhBA1wGbmD7TtwFXmD7SngeHF+lVeCFEJ3I31TH+GuXEw3/dLKW+F4rBGkwd6EC4Sxo2xZqzXapuBF7gzqJh/z0kpJ0NxuATJiGHmhcocnFcBvcwfoM9JKadCcVijcYEehAPGmMW1YT3Y3kYNDtlfs/v0LC4/hBDLsF7aaAdGsf42MbJYv01oFg56EPaJEGIF8zv9Fu6sZ1o9qnU1HG+XLsa6+gbmz547gEqsB+fzUsrZUBzWLDn0IOyA8fXX7s5+HfZ39lOhOKzxhBBiFepCmj1ArwUuYH0hHQ/HW81iZUEOwn7u5DvdwRdCRFDP1mZ3xnuACeyfcb3tuxCakiWjPWTfKPXVHsJ48kSzcFiQg7AfsRlTZEYIcRfwNeAZnGc+p1HP1uqZjwZIP/OcvevQ6pvRXuAnpJQvGOdpcSSNLQt623J3dzeNjY3U1NSkRWYuXbrEzMwMqVSKHTt2WInMdACHgEeBL6I6jV4D1OTEmOleNF7/lvlZxj2CrcBhLLaCm3R3d1NRUcG6deu4efMmUkqGh4dpaWlhw4YNBSyBphRZ0DPheDzOsmXLmJqayqnopWcUmrDIngmPjIywatUqpqamqKury3WubreLnAU9E+7p6SGzcW/ZsoV4PE4qlSKVStHc3EwsFgvPQc2SxlhbflHmsWPHjlm22UQiQSqVorW1lc2bN8+zo2/2Ll4WtJRlWVkZV69eNQVkSCaTrFmzhhs3bjA7O6sHYE3REEIsE0IcFEL8ohDiL4QQJ4E48BeZ6Q4fPkx5eXm63Z4+fZpIJEJHRwf19fVp2dAsxoQQJw27v2jks6wIxdIUgQWzHGHcFPlJ4P3AQT835oBavQNNky/G+u8uYHfGayPwHPBUxqtHSpnM98YcSqFue1Z+24C+rPye1jeSFx4lPwgbX+neBLwXGAc+UVlZ+bnZ2dlGL3Yikch0KpW6DnwB+GMp5XDw3moWG0KIlcwd/HYDrcAp5g6Az9kJJxXiETVjZ+bWLL92ApeZPzDrTUIlTMkOwoZU4zuBXwSeBD4BHLOaUgghGuxkGjM/E0JsAt4DPAL8HfBJKeXZAhVBs8AQQrRwZ0DbY/ytB55m7sB2Nt9t5k5t1kuarPTlKCGoTP/vRek5Z/r/lJTysk/XNQFTcoOwECIG/C/gZ4BvowbKHwacx13Au4BfAE4An5BSdgeZh6Z0MXZCrmP+DLcadcHPHLDOL+RNOcYyXhvzyzrLnTKaZb6otTSKT8kMwkKIe1HrvS8HvgT8kZTyUoHzrAHeipodD6Nm2/+wkDudZi4Og9BN7gw+TxvvB5bCIJRxEdqDmimbMakia8bMAr8ILQRCHYSNxvAy4FdQmyg+A3yh2L9JZnyNezXqIlAHfAr4K/1Y0MLCqMd7mDvY6q/jLhFCtDJ3UN6N2nQS+HKM5g6hDcJCiK8BB4BJ1Az0635+ESJgnwTwAGowPgw8LqV8MEyfNNYIIaqYf2NqB/rGVKAYIkfZA7OnG5MaZ8IchP8f8EPgV0rxK6AQ4ueBmJTyQ2H7stQxnpAxH9EybzhtZe4jWk8CJ/UjWoUnxyN6mWvqPfrbZG7yHoS9PH6z0BWhvD5qtNDL65d84iSEqEM9kii408HbgXPMnXk9o38xo3QwNo/sYO7AfA/wPKq+TgErgN8wJ11+H91bbP0q70HYy4PoC30fvNeH7hd6ef2ST5yEEL8OfAz4PHcG3Gf1jGrhIYSoRm3b3g28BPVo6Hop5UXjc19fghdbvwpsEO7q6qK2tpbW1lZbZaiFHjyzrN3d3Sxfvpz6+vo56m2zs0qIbd++fWb6BV1ev2TGKZlMEo1Gqa2tpaWlhbGxMcbHx9m/f39m+iUZp6VO9iDc1dVFNBpNq8vdddddjI6OAsxRl1ts7SUQ7Yhjx44xOTnJ+Pg4J0+eJBKJEI/HiUQi9PX1ce7cuSCyKRkSiQSJRIKenp70Xv+amhqklExPT3P2rN7/ASpOlZWVxOPxdJxMnY9nnnmG/v7+MN3TlBDmGDI1NZUeQ86ePcvw8DDDw8P09vaG7WLBCGQQPnz4cFp8ZPny5Zw+fZqGhoa0gM7GjRuDyKZkWLFiBVevXk3LEJrCQalUis7OTu65556QPSwN7OIUiUSIRCJaO1eTpqysjOnpaSoqKli2bBnJZJKNGzcSiURIpVJs2rQpbBcLhl4T9oBeE3aHjpPGDXpNWBGInnB/fz+Dg4O0t7czOzvLwMAAkUiExsZGbty4wdjYGDdv3gwiq1AQQkRRG0osyzozM8PevXt59tlnWb9+PZOTk9TU1ITsdbhkx+n69euMjIzQ0dHBmTNnaGlpoaamhoGBgbBd1YSAIR3A0aNHicVic9pKX18fbW1tnDt3joqKCjZt2sSZM2fo6OgglVp892f1I2oOGJs3XonayfdkJBJ5IJVK3eX2/Orq6lvT09PfAt4rpVwyo41+lE9jh/HM9y8BvxqJRKKpVMrzbKW6ulpOT09/BPi0lDIZuJNFJu814WQy2WJ8NXgnSndBGP+XAY8DrzaPLaSOJoRoB74D/AHwdinl65LJZJNZFjev6enpWtSGlKeFEB8yHtlZ9Bj1fAS1e605Oy5AC0qr48ULrV1o/CEUD6N+QPfFQGcymVzmpT9l9KvNqE07Z4QQbzT0QRYuUsq8X0AtcBt4Zdbxd6GEUsqCyKcYL2AZ8DvAVeB9QFUANtuAv0c9uP7jYZexCDG8FxgFXuGQ5ieBEWBn2P7qV8Hbw/0otcKngZcEaPcw8APUZK8z7HL6fQV1BbkFHCfrF2iBrwPdQMltS85GCFEmhPhT1NbLjajB4ZMygP3wUsrzUspXAb8MfFYI8W0hxMvztVvCvBW11PUduwRSyn9A3ZN4S7Gc0hQXIcR/E0J8A6Xd/QVgr5Ty0aDsSymPAfuBPwb+WgjxDSFEW1D2i0XJSFmGjRBiH+qK+lPGAFGofKpRKm3vApZLvfVWs0gRQkjgn4A3FLqdG7K07wF+A/iWlPK1hcwvSPQgHBJCiKogZtkajeYOQogHgdtSyv8I2xe3uF6OiEajw0II6eYVjUaHvaYPqkBe8g06by9kD8BhxcsLXmOby9eFUOaljJ/6DruupJT/njkAL4TxwPVM2OumDAAv6WVAD18v1I0CXuMbhs9+Hq538nUhlHkp46e+jfNKpq4WwnjgebNGd3c3N2/epL293VaoJ5/0QdLd3U1FRUVaEKSYeftlIfjc3d1NY2MjNTU1aQGjCxcuUF9fTyKRYPPmzTQ0NARib3h4mAceeKCApdG4wezHFRUVc8SYRkdHOXz4cNju5cSqjfX19SGlpLGxkfb29tB88zwTNoV5Zmdn05oAFmkBNRMeGRlh1apVTE1NOaYvxEy42Hnng+l3Kfuc2QaWLVvG1NRUzsHWzUx4ZGSE5uZm4vG4rb1SqaelRGZfCqrOi43XNrsgZsI9PT1zlhm2bNlCPB4nkUiwa9cuqqvv7Ec4duzYvLRDQ0NEo1ESiQRNTU0FE/exyjsej5NKpUilUgXN2y928ZqeniaVShGLxUpiNmzVBsx6vX37NjU1Na79NMt85syZObaEECQSiZIp81LHqc4TiQSrV69m3bp1IXrojN24lUqlSCQStLa2snnz5lB88/yccFlZGVevXk3PdpPJZFoHIHMABqWuVl5enk5vqqu1tLQUXEXLzs+bN2+ye/fukhuAwT5eHR0dlJWVsX79+rBdBOz9XLNmDTMzMwwPu7+3YWcrFotRVlbG6tWrC1gSjVus+tPGjRtJpVLU19eX9AAM1u0sEomkldoW1HKEy7SAvjHnhYVwk0rfmFta6BtzxcH1ckRlZeWYEKLRTdpIJDJy69atSi/p3fqRCy9+Bp13PniNb6H9scJrbMHZ14VQ5qWMn/qG0qqrSCQyIoTwJCZVSH+scL0cMTMzs1LeEWB5EXAetb13GKUNIVCD+opkMtmSlT4CTAF1wDjQlPFZY5ACLrOzs2tRW6j/0LQv5RzxmDLUFsp/A5pLRTzGjBewHKVbsScjpi8AhwoRLz8+ZsQyBkwaPt9A7QAUmXF38jWrjdQaNmpRbWVFodqIJjdCiLLZ2dk/AS4Cu636Ulafei+GKFMp1VWGwNgyYBDoxCgHUI76dehHwmxnfrUjDqI0IfpRuhAxACnlLSnlhEX6h4BLUsrrqK3BB8wPpJRxnz7MQwhRDnwNFez3W9k3vpu8C9Xh/1CUngLTLwDHpZRPgYop8GngA0J9twosXgHwcuCsVFtSe4C95gc+/NyH+gXlSaAXSG87LbEyL3qE+uXkbwA/CuyTUj4N9vUgFX8I/CzwLSHEW4rlqwfeB5yQUp4wyyGlvI26ePy+ECIaVjvzOwAdQBVIAo+RMaja8DBgPhfiJr1njMH0vJHPW4wAWyKlvIn65Vfzp9RLiY+jLlSZfAN4BUqNqpQIsl4PoJS2AOqB1+dhS+MTIcQh1DfJKZTimeu7rFLK7wIPAB8WQnxOCOH+YfECIoTYitKU+N3sz6SUR1HtLbxtztK7fFwZavb7auP/fwZGcpwjuHMT8AMYE9IgX0ANShpxi4dzdnNnOaUosnUufNprxsrieMn4aVGvnwZm87B1E/hEtl39KnqdSpTqme/4A40oZcV/C7s8hj/VwNscPt9BgBKbXl+enxOWUt4WQvyZMfgCfBR19XM6J/P25F8Crn+dwoNfNwDXC/DGOU+hBMZLBinlf3k5HiZZ9fpZ1BKPXz4BfM7Crqa4LAOS+dSBlHJMqF/QKIknJKSU08CfO3x+qojuzEOrqGk0Gk2IBHpTqhCqWIVWQSq2ylIh1eiC8C8ff/PxQSuqBU+x6i5IH4rddsLuX+Bts4al/m3mceHiweiZmRmqqqpcPxTtxmZWeld2i2U/n/yEx00v5jn5+Gdhz5W/Zr168cFr28k4L9AyLla8tm3jnFDaTz7559N2it3/rXBcE87+1VxzUKiurmZ6eprs4yZdXV1UVVURi8W4efMmnZ2dDA4OzrMvhJhXertf3u3u7mb58uXU19enVZAuXbrEzIy6Luzfvz9HUZ2xst/f38/t27cRQtDe3u5JGcxrXhcuXEh/bqdClh1XKYursJbt90MPPcTFixct02bXrVmvdm3KpKuri9raWlpbW0tWRW4h0tXVlW7HpdB2zDZv/oT9jh078u5fZhn9KL3Z+Tc9PU00GuW+++7LyzcnHJcjUqlUs9XdvOnpabu7jBw7dozJyUlSqRQnT54kEokwODjo+k6h3U+lJxIJEokEPT09xOPqcb6amju/lt3b25tXIKzsV1ZWAuqic+XKlbzs58rL1N1IpVKWeVnF1Tx3YGCAs2fPBuafW78vXrzouV7t2lRmGcfHx+eUMZVKMTw8TH9/f8HLuBgx43rr1q15bWdwcJBz5wr/lKZdm49EIpSVlTE6OpqXfbOMoBTfWlpaiMfjjI+PU11dbTtZyOWflJJIJFLQtue4HGFO1Y8fP87IyAh33XUXUkqOHDmC03ELO5bpY7EYDQ0NnD59mn379iGEKPrXBb0ckdOerb9O9VpfX09fXx87duyYU6+52lQYZVys6OWI3PZLfjkCoL+/HyEEhw4dYnZ2loGBAcfjwLwOZpf+8uXLANTV1XH8+HFHlTA3A3i+OA0m27dvp6wsuPuYVnmtXLmSU6dOcfDgQdfp+/v72bp1ayDl9+ozzK/XwcFB6uvree655xBCMDAwMG8pykvbMcv5wgsvpAd0jXec2nYqlcp7Oc+vDytXrqSnp4e9e/emv3kGab+xsZHR0VHuvvtuz+cWqu9n4zgIRyKRkVgsNm95oLq6mlgsZnmOVQdbu3atbXqrPN3YHBsbS98IGh4e5ty5c75/geHo0aPEYrF5eSSTSQDq6+t54okn5qyD54NVeYaHh2lsbGTZsmWcOHGCtrY2x/SXL1+mqamJq1evkkqlGB0dLdjanlV8BgcHfdWrXZsC63L29fXR2Kg0ZB577LE5cdHkpr+/n8HBQTZv3szGjRvp6+ujra2NoaEhBgYGaGpqoqmpie7ubjo7Owvig13/Ghsbo6mpiZmZGYaGhizvG7nFaYyYmZnh8ccft+0fVueOjIzQ1NREIpHg4sWLDA4OFiw+ge78iEQiw6gdNzlfkUhkOGibXuwWy36+MSq2f/nGx68PhWg7S/kFVEcikali1F2Q7afYbSfs/iWlDHYQzmoEbcAQatfMEBALyO6zwB7U7qp3B+zzV4APZPy/DbgMRAoUoyYggbpBeg54UY70ArU1ez3wTZT6U8Hq0MhzA9AH/I8c6X4TOAk0BJDnXRlxOQvsKHQ5F9PLqLMngP+LUqNzc047cAr4KrCsgL69FSWytRnoL4D95Sjdi2rgv4BOl+ctA64A7RnHfh34QqHrq5AKYpkiPxIL8QyvCCH2oAbG5whYCEgI8WPA64DPm8eklD8ELqEaZiH4deCWVGJDj6HU6ZzYCMyi5AUB/qBAfgEghGgF/h34tJTySzmSfwx4FPiuEKI2z6wPAI8bcSmjwOVcTBjt+Angb4DXSCnH3ZwnpXweJRB1E3hCCNFRIBcPoNr688A6IcTLA7b/K4CUaquylzHi68A5Iw4mfwa8SQhxJFAPsyjkIPwq1JUI4E+ArgBsjgLfBlIoxa2XCCHyW82/w2aULGM86/i/ACsDyiObblRFg+o4P5kj/WuAp40L2+eAfyyQXwghoqhvMP8gpfxsrvSGT+8BxgArOVMvvBql8wrwxyjtZ40DQogKIcQzKI2E10kpP2XUiWuk0l95K/AZoFsI8a2AfSwDHuTO5OwbKNnZIPkB8EXj/eMoGV03NKL6ehop5ShKy7uwPz5XwK8dEvhwAe3XGXlsLfTXhWK8gLdjjGUOaV5ADcLF8Kcc+C2g0uN5K4BfyzPvW8AfhV0nC+mFWoIYJ8eSlgd7vwgMBOxjs9Fn1xYpJq8y8itpRb6CCfgIIZZLJdBdMIqRRzHJVR5jdjojldD7omWx1avmDsWu24XQlrSKmkaj0YRJoabYpfjYSCEfD3PyoVTsFOtxs2LW/2J8XK2Y9VQIf0qxL/gow61ixT7vmXC2IEsmbm273UoYi8Vc7+G2EgIq5JZhp+2MXsuTLZCUST7+FHMbq5u8nOoziLgvVEphu3E+/kQiEceNTWH0KS/5ZuSdt59u8PzLGtmYgizHjh2b4/SRI0cApWwUjUZZt26dL/Wmrq4uWltbqa2tpb+/H6u8tmzZwtDQENPT0+zatYvq6mqEw89ce1HqslNvu379OtXV1Z62e3Z1ddHc3ExNTQ3j4+O25TF1FOxiatrKN66ZvrS0tDA+Ps7Q0BDNzc10dATzhFJXVxc1NTWsXbt2np9O5bfz0VTeWr16Ne3t7YH4WKp0d3fT2NhIRUUFyWQyrQoWj8dZvXo1fX19vneJ+iWzP9q1O1PgC3Cs23xV3eyUD53alNU54+PjJJNJUqnUPLVEJ8VD0/98CewRtbKyMq5evTpnb7+pbDQ1NWWp/JVLvck8/9KlS5w8eTJ9/PDhw5SXl6fzO336NA0NDXR0dLi2ma3UFYlEGBkZmafGZqWuJISgurra035yM9/R0VF6enpoabkzSbeKndNxp7i6UcWy8iUejzM2NkYkEkkruuWLmc/k5KRl/TuV08rHoaGh9OfmlvXFzNatW7ly5Qpnz54lHo9z+vRpGhsbiUajDA8PE4lE8lYP9EJ2f8ysz+HhYUulMqe6tVJ1czMumFj1Tad87c6ZmpoimUwSjUaZmJjImb6+vh6AnTt3BiJvm/dyhN3XglzKab29vezevTsz7bzliKCVtuzsmkIizz77LPfee685kwawLYMpKmOKe7j56uRVdc7peC4BoFzLEXaCJSdPnqSzs5OKigrbOLqMv22szXz8qO5lC7Is9uUIp7aXKbxTjOUIpza3Z8+e9MXb6at8rnHh+eefZ8+ePTnL5LdPuenLbtJnjxX5xD6QQbivr4/BwUHa29vTAhgHDx4MfE1YCEFXVxexWGxefpFIhMbGRm7cuEE8HqezszOvNdFirAkLIbCLnVU5165du6jWhJ3Kr9eEF+6asFM/DapuvY4RXvpORt55++mGvNeEc6liZVdCQ0MD0WiUGzducOPGDdasWWNp1+rc1atXz1kXdaK6utpSJTqXTxMTE3PWpKzSCyFobW0F1NcwN2tYduWxUiGrrq62LaepSGXl05YtW5iYmOD69eu2flidPzg4yNatW7l06RLRaJShoSGEEKxbty5nubyU2VTwOnfuHM3NzY4qbFbxikQibNq0ifPnzzM1NbXoFNWEEDuB3wbrejLjd/78ecrKymhrayOVSqXVx4QQ7wY+L6VMBe2bXbtbtWpV+j5CNBplcHDQsf2Cfd1u3ryZ3t5e13VrZWfNmjW2edv1/Q0bNvDEE0+ky2eqpdmVuaysLL2ceOnSJc+xnIfM49EKp5d+RC3cx3Kqq6tH8jnfa2zDqv/F8IgacA9Ku+Ay8G6f9XQV+AdgAPg5PO50DKouS7EvFPoRNau+5qn+i9TI9gPPG++PAw+6PO8+oB+oyDj2FuBfA/Dp74E3A4eAJ1yk/zDwSdQe8+v4VFYDfgR4xnj/FHDAp50qlEbDSuATeNgqDMSAa8DqrOOrjeMbA6z7zwG/mXXsGPB6l+dv5I4a3z8D/71Q7bTYL6Me/gKl3vVBYHkANu9HiS71Aj8NlBfA728DDwM/CjyWh50PAl8CoijlsxqfdvYCF4z3XcDLc6SvMfKrRWmTvM9FHs8A+4B3AN8INJ5FamzfQW23Bfi42wEDmEYJyGQeqzauQG/Lwx9h2HhDRgOIuijDqzPO/RmfeR8Drhvv/xR4j087bzT8EMB/A/6fh3OTwNdsPvv/gFRA9b7T8LEt6/hHAenSxk8Df2e8fwE4X4g2WswX0IoStbqG0ueoL0AeL0GJXD1rtI9A9BOM9jYKrMuoX18XD+AGxoQKJWB12KedbwE3jfe/B/x6jvTvNNuf0Y++mSN9HTCJmvj8nNu269r/IjW6lcB64/37gEmX570daLU4/jbTXh4+7TAbJkr45IMOaRuB28A9xv/bgDKf+TZjzECNDhj3aacMQ6wFpQV7G1jp8tw/yx4YMz7bCHwuoHqPAu91e9zGxgXgq8b7BmBDEL6F8QK2oL61jAGfAu4qcH4CeAVK5/kHwMvzHYxRSn6zGf/71npGLcNEjPfdQLdPO40Z48u7gakc6cuBbcb7e42+U+uQ/reAaxkxDVTfOoyGuAP4XrHzzeHTV3AQSEcJRf8AqA443/uB7wZgp9rwz7YhLdQXSgD8VWH7EUA5NqBmjV8F1hQ57zLU8sEZ1LrzW/OwdQj4pwL4+MvAZwOwsw141EP6KEpy13Z5EbVs+aVC1Y8W8NFoioQQok1KeT7E/CtQ90K+L6X87bD80GQR5IheSncsg/59toXyZEW+ZfaYn+v68BuXUnpSotSEdcLos4u1LxTjiY6izIQLuRnCPKcI9j09HB5E3mHla5W31/y85uXFvyDjGASltokiCHzUt1iMfSHIfL3Wd96bNazo7u5m1apVaZGPzs5Ox5+zNoVKMoVaLl26xMzMDEII9u3bZ3lOZWWlpTCMlQhPtv177713jhaBSSQSkXYKUE5+NjY2Wop5ZJ/z0EMPWe6xF0LMq+WI8TPxXuw4+drX14eU0tbX7PMrKipcCQRZ5XX69GkA6urquPfee33HxSkPU0gllUqxY8cOx/IEiZUvpggMwLp16wLRFCgmXtupXQzGxsbS9ZEdg+7ubiKRSFo4y25ccNMXMvu+1/HFrmxOfT/Tltt+4ZaCzIRNQZzZ2Vnq6urSMyY7tbCRkRGam5uJx+OOjTdz5jUyMsKqVauYmpqirq7OMi2oK2E8HmfZsmVMTU2l7efyyer42NjYPDt2fpp5Z5fNLl8bJTjbMuTy36rMDjGdNxPOFd/MGHrJy2953LSRYs2ETR9Mn3KcsyBmwm7rY8uWLTQ3N/vuC5ltKp++4GV88drW7I6Du3GnJGbCPT09ll8DysrK5ohhwB2puzNnzgBzKyCVSrFmzRo2bdo0x45TpaVSqXlbYbP92bJli6NPdset7AwNDTE+Pk5jYyN1dXVzroZWZbOzn0wm2bhxI/39/ZYqZnYxPXz48ByREacym76WlZWxbt062y3DVvGNx+MkEol0fDPLaZeXEIJEImFZh0G0EXOreUNDg21ZCkFDQ4Nju3XzTaPUcFsf5mzfrs6np6eZmZmhubmZzZvv/D6mVZtyyqOtrY3e3l5PfcGuL3tNb9en7Mad8XH1g9aZyoheKMhMOAhlo/r6ek6dOsX9999PZWXlnPRgrS6VqbCVvSYUlIKZW0U1M+98leC82nGjUrVz505blTSvSnNO9VFfX09fXx87duxACBF4eerr6+nt7XWluhUEpaZuFgR2ZXrggQds22muNpatkAil1Rf89v3sGNmNO57rW8rg7rQqc/Npbm62vZvoBS/pc9m386mysjJvX53SO8Ui+2XelbViw4YNQcY0Zx06nOspfSHbSHZZgnqhHtB/udfyZpQ5ve2+1F5+2lep9QWvbccufXV1dShtMNAKraysvOYlqF7SG+d4EdUYzfdxLdTOmvWFLptNvnVSens8pqqq6oqPmA7nUYeeH1HzGhePokWjQbZn1OD7IGo313ORSCThpbxGGWaAs6jtsYHrOOT78tq+wuwLxW47qB2aDYVugwWrXKAFiBtBjANN2UG1aPBXgbUokZ8fyQyGTR7/AbwO+N/A/7SquKz0fwR8DHgX8Oe50juU7aeA76G2Xfa5yLcNJUJTidqDvsJPvsY5F1BCIv9Mxk4yh7y/a8ToE8BHcsU069wPoTQOXkPGLimHvH7SqJPNQH92g7ZIvxEYzohLfQ775agt5ncDTwIH/dahi7IfAY6SYwB1iqPRiQVKtKkbeA54PT63vBfjhdrM8VbgD4CPuqjz3zba1n8H/tZF+tejdFh2Aaf91h9wl9EWylHjxpoc+QrUbsEdZIn8+Mj7q8AvAb8GfDzfNhjYzxtZcAC1M+cW8H3jf6SUt6SUExbpX4kS0RlECY8cMD+QUsazEwv1G3KHUYI4j2Wlt8vjAGqQyLZvl96pbMeAc0CrEOKQi3xPSClnUcpp+/zkK4RoBVagtlnmLLMQog41AJy0SD8vphb8Mmqr62PAAWEszOUo538CzwMtQogHcuSXGZcnUWp7Tva3AcNSyhcsyuO1Di0RQhwSQvwHSt3rz1EaA18z2vE8nOIopYxLxfeAFwP/y3g9I4R4jRCikP3PM0b9HkCpsJ0HftH8LEedPwqcAl4phFjmIv0xlLDQJiHE7hzp7XgvcNXD+LLB+NuDGrQ/4qJsdhxATcLOAT/nol84UshGcAg12GH8PZwjfQTVeUF1sM4c6aPACEoM5TGg0wyGFUbj2IoawHqAdUKIlTnysOPFKAk/iVL2Wp4j/WHDR3AXCzseQF3Ybht2csWoGhWfQe4MpF7qfBJ4Wko5hJLv3JojfSdqUDXjsixH+sw28pjxvxPZccyV3jVCiINCiH8Dvgz8FdAhpfyKlPJmEPaNwfhfUB34V1Eyjk8LIV7l1G6LzGaUOM9F1IV70imxEKISNaH4PmrQNmemTpht5CZKpjZX37FDovoxuGs7D3Cnzz6JUhL0jBBiNUow6AxK3nLKj505eJ06e5iyS4ypOurrivRw7iHjfFeCOdyRt3ypQ5oPZ/pgpP+Uj3KtMM59kcdYfMB4/yUvsciycxE4Z7zfatitd3lumZHelY6vxfk3gW87fF5n2HetMGWk/5Dx/gu54mI0+C7j/SuM832vs6Ie0XwpammnH/gfBCiGniNvgfr295Tx+gIByU3m4dPfArc9pH+bUQeu/EZJeEpsFPzy8Pt3XLSdK8DJAPL6nN/+a2uzgBX6UrNBo9b8bAdIm/N/1GP6B3FYa0NdcV+c8f9+XKyLBuTbS83BAjXj96ubuoMMIXYffrzE7yADvAhYW+C4HMmRfj931o2F1/ws7P2TMSi8A6jKx1YePggjf0mR1dUsfFkN7PSQvjpXneXbRlzarMg1vgC7Me5L5ZnXSmBvkP5rFTXNkkUIcRfqojR//7pGUyyKfbVdyCpafstQSv5Y+RREeQr1u4DFKH8pvsJQbCtFRbVSU0IrRFsrWGPx+uCz180Hdumd8nX6zGsDCMonL/kGGVO/5/t5oN1rXLwed8rbCiN96AOt08trmbyUy2u7ljK4/umlXEH3NS/5+omRnS2Zoz7y1o5IpVLNUnoTwwDo6uoiGo2m1Yj6+/sd03d3d7N8+XLq6+sZHx93TG913BQesfvMQjCkGRVBR5+klLS1teUsQ1D5BhGj7HwjkUi6Tmpra9MqV1bnZ275zD5u0tXVRXNzc1q1ymtc/By3Kn+mcpydGl+pY1Wm06dPE4lEmJ6eZvv27Z4V25z6rIlV/zx69KhlnzJVyioqKkgmk7S0tDjWuVV6UxFvxYoVdHR0zPPZy3jhpmxVVVXEYjFbJTS3Mcplxw2BPaJWVlbG1atXyX7axur4sWPHmJycZGpqipMnT6YHASc7iUSCRCJBT08P8Xg8ffzw4cOUl5fPOyf7uCmtaJVHMplk06ZNrFixwlIwxMmnmZkZTp48mW5EXmJhivbU1NR4yteuzHYxsitvJBJJ63KYdTI+Pu66TpzqdnR0lJ6enjmiJl7s+DluVf6qqirq6+u577775sV3IWBVphUrVhCJRKiurubatWu+bdu1I7v+adentm7dypUrVzh79izxeNyxr9ml37hxY/pCky0n6We8sDtu2kqlUmlbqVQKsBbgyRWjTDtm/QwPD7uI/h3yvjFnJ3jsVQjHjaiGG4ERu3xzfWaVFgi8DEHkm68/+ZzvR+QkH8GUfMqfKSJkiitlpC+VZ3MtcSsWVFlZydatW81zXJXLTZ8ttEiOXV0NDAywffv2dFogkL7mN18vMcoUyfIiKhXIINzX18fg4CDt7e3Mzs4yMDDAwYMHsTtuV7iuri5isdicc9auXes5vdVxJ58aGhrSsojxeJy2tjZaW1sBPJfBSyyEEGzYsIFEIjEvXy9l8xqj/v5+1qxZk5abPHDggOvyePXBzs7ExARbt271FK+DBw96ztvOn4U0CHs4x/UgHEQd+u0LQU1ICtVGzHyL1dbyHoSj0ehwKpWap2xdXV0972uFiVXwXvva11r+0gVYB2Pfvn2W6Z3ydfosG1PJ36psXssQVL5eYtrX18cjjzzi+GsVTudPTEzw4IMPziuPkw9W9TQ4OMjDDz/MwMDAvPR2trwet/LfvLiOjIxQV1dHR0cHo6OjbNiwYcEMwtllun79OtFolMnJScbGxmhqamL16tWcOnWKzs5O1+Wy67NgXYfnz5/nkUce4dKlS5b2rGL/8MMP2/7ahV1dbdiwgdHRUS5dupRzIvS6173O0h+v7dMq787OTiKRyIiXGGVO5oA5ZchZJzLHnbugX4V8RKW6unqkFMtQSv5Y+aQfUSu9V6k/omb2tcX4iJrTOFKSj6jl8wLqUZoElWSpgjmc04/a4z5HFSzEMvw08HdADXADJUIUtk8/RO0Q+ijw+x7P/XPgF1D6uV15+PBG4JsojY+pYsQFpcp2FViecew9wF+HXSc+yvJ2oA+I5UjXCYzicUeqSx/+HfgJ4OeBL7tI/xmULsZB4CkX6d+GUiRbgdKpcNzNidKpeMZ43w/c47NcphrfXWZ7zyNGfw88bLZ3PzbCVnH6KKrDzJKlimWFEGINShTmeePvbxXcw9wcQAmD3EANfnvCdEYIUQ+sR6laVaI6hRcOoOqiH3jA2FXmBzMuSdQF6v0+7XihG3hcSpkpPPMl4PVCiFcVIf+8EYp3o7ROfkRK2eeUXkrZDbwW+LoQ4pUB+lGPUuC7iIu+aXAAJaz0FHCPqajmwEFUGxlHXXBy/VrrH6H0J/DgkxVbgREp5ZV87BjCSwcNG3OUBj0RxlU+4yrSBrzOeP9alN6nrRgISuP0pPG+EfjZkP0vQ828fjTjqvitkH36IPC88X458HYP524HZlB78QXwP53qw0VcXm78/0Zy6E4EVPb/TYbGcMbxzwP3h1kvHsrwS6ivsu0ez3uNcd62gPxI1z9q5jgN3OuQfgMwC9QY//cB73ZIXwEkMPRcgH8BvpbDpxdnpP89XMy2bez8BfCo8X4vMIFLsbAsOz8KTGTEaxJ4iVc7BfmhT7dIKc+jJPAATqMGDYFqTFa0oMTRkVKOoYIZJuWor9tnjf/7CXkmDKxBXcyQakb4eQ/nrgMS8o5842d8+mDG5Zzhx9d82vGElPKdNsffXoz8A+Ivge9JKZ/PmTIDKeU3hRD3ofpR3kg1snzG+PeWECIOxICnbU5ZjVp2MiUih1E/0GBHJVDFHfnaAdRykpNPxzP+7QUecUrvQDNK3hXU+FOBEiNyd/f8DhuAa4ZvUghxjTu6xa7RAj4ajUYTIkVZE45Go8NCCOnmFY1GbbebBGVnMZNvjEq5rrzYNOzeKoX24sNv374s1Bj5LcNi6OdFmQkLDw+eC4dnHYOys5jJN0alXFdebGbYDdQHP/j025cvCzVGWfksqX5e1DVhU7jDFHZ56KGHLDcTRCIRmWtzQ3d3N5FIJC02I6U/8Qy3+NmUkk0kEhlJJpPzN6gH6I9JdqwzxWxSqRRvetObANXg3Zx7+vRpGhoaSCaT7N+/35UfVnYyNTY2b97sWXzGtFtZWcnatWtd132x24udD1ZxBYhEIr7j4TYvM/b19fU0NTXNy6u7uxshBLFYjP3791tuthBCyKA22Tj1HSv/7733XsvNUFZt2O+mJy92/Niy6v9FnQmPjIzQ3NxMPB6noaEhfRX2qqIFMDIywqpVq5iamqKurs4qz0CvkGYZ8lRIC8ynXP7E43GWLVvG1NSUZccWQtiqYo2NjTmem2kDsK0rL3a8zIRz1X2WXaD47cXK71x1EoQvPvMC5sZoxYoVtu3aTo0wV7/1cnxsbCy947G5uXmOr277Gti3zSDsmLGw6kfZdjL8n1evRZsJmwU4c+ZM2lGTsrKyOUIYJocPH54jkpFty2TLli3E43ESicScQhcCO1+zjyeTSdra2ujt7S2oP3Yx6unpsYxRKpUikUhYnmvOyqzONRsVMGcmbGIVFzs7Qgimp6dpbGxk06ZNnspr13GEEKRSKVavXs26detynmO2l1QqRSwW8+SDX5zimkqlWL9+PRs3Oj4gkHdeQggSiQStra1s3rw5/Xl2jEzs2gi47wt+jjc0NMwbM+zSm6qAg4ODtmqEbsaX06dPp8WRLly4ME9S0y4Wdnbq6+t59tln02I+dhR1JhykulYuNaRCzYTd+mpjI/CZsJ0/Tspb27dvp7y83DHGbhWiAF92ent72bZtm6dvCHbtyCxbT08Pe/fuTctz5movph+7d+8u2pqwXbs9efIkhw4doqysLJCZsFP9meU10lvGyE6lMPucQh73qwpo2gDntpmvHT+2rOo11BtzLS0tjIyMzDvutM4SxoAHUFVVdW12drYx+3hlZSWzs7OubBRrTdhNjOxi7/Z8UDGurKwcs4qLVzteBmG3lMpNp4V4Yy4Wi9Hf3295jl2bD+o4WLcdpzabTVBrwtXV1VeEELft+log/V/Kwu8CqqysvEYeghdAA9DgUYRjtJBlwuKXmlGbFNbbHK8rdJzziZFZniDqKgg7+bYjw+6tUmgvxRQYKmSMqqqqrnhs876O59N2cvW1oPptUHaklMUZhLMcqkCJ9jQAl4C73ThqY+ufgDcBXwF+3m2hl8oL+FfgzWaDAf4M+G23MUJtW/1zI8bf8Btf1HboXtRuvqtkbIW2aswe7PYDHcCTQGcum8A/AG8B/g/wjmK2F5SQ0CmgNttH1PP6f2u0Y9/xsMn3h8B9wFGMbeQ5YvQ14F3AHwPvK2aMbPyJoXbf1RvjRmWY/hTiFYaAz3ZgUEoZB84AbwWQUt6SUk64NSLUYs0BlNLTCTJEOLzaWowIIY4A21AKYnHj8KeBdwghmlzG6CCq8z4OvEwIUQ2+4nsQ6JZSXkLNYI6YH2T45gkhRAtQi9oafQalyGVrM6u9nAJ+JiN9QduLEOIh4H3AK6WU17N9lFLeRl0stwLvCDDfOtQ22mdQ25l/NiNPu7gfBL5HlrBNiH3qAHBCSplAXXR3hOxP4IQxCJsqXaCuZi/zaWczMCmlHCI/RaXFyldR8ZkxD0ilR7AS+EOXNsy6MmciftezM+u8EqXOlS8HgO8bA9ht4CU50t8NJKWUg0AcNTssOEKId6IkPV8tpbReZAWkUuH7KeADQoivB5T9fpTIzQxKmOmBHL62AnWoC9tjwEFh3pkKj8y2szj7eQhfL6bI+Gqbh51/BOLG+yhqhnUg7K8WpfJCiafMU4ZCaajm/BoH/LgR0/I8/TAFmR4OuHwXUbKVbtP/PUqcqNj18C7gix7Svxf404DyPg085yH9X6IuVJn19qpixyzLJwm8y3j/NdO/xfQKQ0XtQ8B3ArDzaeDLAFLKpBDiN1FfMzWAVDM+q+NXXJp4HPiolPJWnn5IIcTvAN/Ox44Fv4Za73TLZ1GduKhIKf/UY/pPBZj9r2Mo6rnkc8Cjhh9SCPER4LjzKQXnNzD6OUpj+YkQfSkIWkVNo9FoQqToa8JLTSGpUHiNox8lr8WiqBZkWfzk77UthxF33d/Co1ibNaqkcYPIy8Pk2Q+tZ9qxs79U8BpHADfpZ2ZmqKqq8nSOmYddXeVT51mfebIZVFls0rguk1ubfmznG3czRtm2wuxTS62fF2xNOHtHl8i6ydrV1UVzc/MclaT+/n5u375NKpVi+/btjnayd71k288kyJ1qpUhXVxfRaJR169blVAjr7u5m+fLl1NfX51SnMtM3NjZSUVFBMplMK39FIhHgjhKasf14To/PrBOrfHOpekHudpRdfjv1r+z0VVVVxGKxvBXVurq6qK2tDVydzSpedopruWKUbctOvTC7DovZp5ZyPy/YIJxKpZqtrsJCCI4dO8bk5CRCCK5fv86+ffsYGhrixo0bgNoy2djYmNOOh9mCreTjQseM5e3btzl58iR79+5ND6gDAwPztmcmEglu3rzJxYsXqa2tpaWlhaGhIctYCiHYunUrPT09TExMUFtbSzwenyOAU1NTA8D09LRtfQhDNCY73+rqasbHx5mZmWFiYsJyEHaqf6vyDw4O2pYlM31NTU06XvG4emS2pcVb/83Me2RkJB37SCRCX18fs7OzngWKTKzi1dLSkhZfunbtWjpeuWKUbevixYu2MQqrTy3lfl6w5Qjzq1CQIhx2AiN2gi6Dg4N0dHQUVBcgLIJcjjAber51ZVcfPuxkfr321I7s/HASpMnlg02aklmOADzVn5sYFbtP5arnXP5klGvB9fOCPqLW39+PEIJDhw4xOzvLwMBA+jO7oD777LPce++9cyTpjh49SiwWm2PL7vjAwACXL1+mqamJaDTKiRMnClnEkiCXQliutOC9rjIV60ys6uPatWuOdjKV3crKrO8Te/HNzo9cMbAqj9/Y19fX09fXx44dOxy/Pvux3djYyOjoKHffffectEHFyOr4xMQEly+rJ92klAXrU3ZlsDqe3cfb2toK4lMxKNhM2Enlq6uri1gsxuDgIO3t7enACiHYsmULExMTDA0Ncf/99xOJREYCUEIadfoVioWIEELaxTESidDR0cHo6CiXLl2is7MTsI57b28vb3zjG23XhPv6+ubZb2hoYMOGDWn7bW1txGIxx/rIttPb20tNTQ1NTU3cuHGDeDxOW1sbra2tc2YzXtuRubTlNr3Z7nbu3Mno6ChTU1Ns27bN1UzYqkx1dXWkUimEELS2tjI4OEhnZ6fnmbBV3LPr1YyXXR+xivv58+d5wxveYBmjMPtUqf1yTTEp+nPCuX6WJ5PFOHgGhdc4CiGkl1jm+lkXq/R2HcCLr247UiHL76bdeckfvA0QQcWrkD5qAiTXlrpCvlDbjaeMv8eAl4Xpz0J+Ac8Bu4E/Ad7rIv3foNTR3gH8pYv0HwE+AXQC/5WHnweAp8hQ0wug7AIYBdYZ5foZF+c8itqa/WvAx33kuQI4C7zZ5vPVKJXAl3u1nWWnDRgyytgPbM7D1gVgC/AXwDuL1Tb1y/kVhoBPJnuAH0opk0AE98IymgyEEA2oAegU7kVOTGGUQeAtQohc9wcOoNTqngS2CCGW+XTXVMW6iRpYPurTTiZ3A9NSyou4KL9R1r3A992ktzi/Bvhr4HtSyi9bpZFKWOoR4CtCiPm/B+UeM14SdeH6uB8jQonzmBcOCfxeHj5pAiQM7YhM3gj0GO9/D2gP0ZeFzGuA01LKm0KIE8AfCSGqpZSWi2lCiJ0otaxelLbANwBbjQhj0DkMvE1KmRJCnEcpfvnRYngN8CXj/R8A/+XDRjaPcEc35HHg3UKIMqkU1qx4GXBVShkXQjwB7BVCNEopx1zm9xnULDrilEhKeUwI8UOU/kKlS9vZvAF1sQD4XWDSp53XAz1SyttCiD9FfQvRlAJhTsNRAt9/E/bXgYX+ArqAC8b7WtRMZ6tD+t8Abnuwv9+wGTH+vwx8x6evEnhNwOU/g5K1BCUCLoEVDum/DEwY78uM9D/lIb9aYKXLtGXAhjzKdgv4UAAx+gEeFNX0q3ivUAV8hBDlqMFAqwjlgRCiDNLi4AghymUO9TM3aezSZ+fn0VdP+bq0WabcUe0oVx5CPTcmvMQrLILyLZ860xQWraKm0Wg0IRLqjTmtqBYeYcW+1Ou81NTWtKLa4qcoM+FcP8/e3d2NEMJRUGWhbkkMEq8PtOd60N2MfUVFRVr8p7Oz01IAx+tD82D/jPHx48dpbGycI95kivnAHVGg7DoPqvxu4xJEmxQZW5BNMaTMcp8+fZqWlhYefPBBW+Eh0x+rcwFWr15Ne3s7QgjHjRuZfmTWue5v4VIsKUsppeTYsWNk5mfuCx8ZGWHVqlVMTU1RV1dnZ2PJN4pccXR7fMuWLTQ3N1vG3oizJ1tDQ0NMT0+za9cuU4kLwNbO2NgYy5YtY2pqylK0J6O8c+o8qPL7iYsb/2zSpAfhkZERmpubicfj88qdK+5O52baAPu4Z/qh+1vpUNRH1MrKyubtYbfr1NFolOHhYVpbW9m8eXMx3Sx5Dh8+PEcPwOtxcwZlFXsTq7qyOp5MJtm0aRODg4Nz9D6c7PT09NgO5KlUKmed2/lWyLiY/tXU1FBXV+dZptK0eebMGUubTmVzOndmZobm5uZ58bKLkVPZZmZmaGpq4p577vFUNk1+FHUmbHEcKa0Vkurr6+nt7WXPnj2ZaZf0lTlXHN0ez/zMj/KWCz8Ba9U2pzo3xXxM4Ru7mXC+5fcTF79tMtNnJ7GfXbt2eY5XQ0MDzz///Bx/wHvcTTu7d+9O29D9rXgUbRC2EiQ5ePCgp4691BuFsBHtWbt2raU4jd3x3t5ex8HWrq7sxHyi0eg8ER6wFv/Jp86DKr/d8UK0SbsLh5WtIOIF1kJFa9eudW3HtLXU+1uxCPXGnEfVpiupVKopcOcWEEHemKusrJwn8ejXVjZON+bs8rWzkykoU4wbc/n4Z4VbER07n7z6A/nH3bSlxXyKQ0k9JyyEeA4lKPNF4GEp5TPG8XJgmZRyIkz/FitC/bR5E2oH4zIp5a8axwsadyHECpTITQwlLtMg1dbrkqhvIcSHgRbgCrBcSvkrxnFf/gkh7gP+DtgjpbwqhDgIfBVol1LeEkI0SCnjDueXA2PAZuB51E68uB9/hBDfRQn5vBkl4PRN47ijD5rgCVvAJ424I0JzArXF8hXmZ1LKW2F3yEXOAdTW58eAHzEPFiHu+4CnpJRXUUphLy5Svm4x43KCYOLyHuCzRnmRUp4ARlA6HLgY/LYBw1LKEeAk8GN+/BFq3WIvqr6fQOlg4NIHTcCUzCAM3A/8QCp1rfXA+0P2Z0kg1HZWU1FtFNgj/CukeeUgaoCDEqtzY6Ay43IF2J1PXIQQR1BiPH+V9dEJ4JsuzWTGqw34oE93NgFJKeUgsBx4m087mgAopUH44yhpQ1Czjq0h+rKUeASok1JeNpZ/Nkgpp4qU9wcBc+a1Bni4SPm64Q0oEaChgOLyA5T28JWs4x8B3urSxm8B5k++bwGO+PTld1CiRQC/iroAakIibCnLTP4VQ9ZQSjmLUurSFJ7zKCF0AKSUAw5pg+a7wLeNfN3KSBaLQONiDOBfsTieBP6PSzPfxZhJSynzkaL8T9RyBsajGxfzsKXJk5K6MafRaDRLjZJZjih1YZfFjBbzCcS/W27TmuXxWn4t5rM4KZmZsNuH2o20+kHyAAkr9qVe5z7882IbsN7dFlR6u3h5KVcuW5r8KfqacK6H163Uovr7+6mrq0NKSUdHRzHdXTS42TTQ3d1NZWUla9eutVXXKkTeVnV+4cIFhBDcvn2b+++/33fe+fpm+pdLdcypLOPj44yNjRGNRlm3bt0cAR6r9Lt27eLyZetbIk5qapFIJK1A56ZsdnE3ybSlKRxFnwmbV2E7lad4PJ5TYUtfmb1jF/dCKIe5zdurQlgh6jzguLhqv2Z6wFJRzrSVrwIdOCuqefFV97fCEdrTEXYqT1YKW/F4nEQikZZK1PjHj3KYnVKXV7wohI2PjwPQ0tJSFFWvoOJipxAXjUZJJBI0NTWxceNGx/QmXhXo7BTevPS1oaEhhBBUVFRQWVmpFQyLQGgzYYvjjupV/f397NixIzOtvjJ7wGkd0Cn2DQ0N9Pb2snv37sy0vmbCXvJtbGxkdHSUu+++23e++fiWyz+buADWammmUtnOnTupqKiYM1P1qmTnVuHNtO/VTl9fH9u3b6esrCwzve5vBaLog3CuX9lwg24U3sm1PljI2FdVVV2bnZ1tLHa+bgg4Lq7zdRokW1paGBkZydufysrKsXzjbtrS/a1wFH05wkqZSQjREIlETgshcqpNgVJUC96zxY1d3KWU8aqqqmtCCMvOmo2p1OWFmZmZlWHk64YA43JbGL9o7DL9yK1btyq9lN9r+uyy+SmXacttWo13SuYRtWyEEBeBV6G2an5RSvkt43hJKGwtVoQQfwDcBn4IvEpK+VrjeKEV1VqB54CVKFGbXVLKS6VS30KI3zfe9gCvllK+xjhu6Z8Q4qeB16O2Jf+tlPKejM/mKZUJIXagNCS2A9eAJinllIP9iJkOeBx4k5TyKT/xEkL8J/C7KCGfQSnlx+381ARPyWzWyEQIsRaIAE8BCeA3zM9k6ShsLVYOAI+ihGIOCON7cxHifgB4TEp5GxhHDV4lUd9GDN6Fuki4jcvHUBeTHwItQoj0twGbge0A0C2lTAE3gHfnsL8HOCPVdujrwG/mSG9XthaUMNBJs2w5/NQETEkOwigBn+8bd0weBfpD9mdJYMyudgPfR+n7VqIUt4rBS1CKZaDkI0vmK7DRDvtRIjx9QDnQnuO0C8CjUspbxnkvzZH+CHcU0o6jJh9OvJQ78foPwPqnmnNTDvSitKQfAw4as2lNkSjJ5QghxCAwKaXUOzOKiBDi54HPA2VSSimEkMCXpZRvKULeEviklLJk5CztMHz9ipTyzS7TDwApKaXt816GzZ+XUn7Rpc2bwD9JKV/lJr1Lm1XANPBjUsp/CcquxplSUlHL5AhqvUtTXP4SeCLjma17KN6MdA+GstcC4B6U9rJb9qB0e524D3jSg83dwFkP6XMipZwRQuxFLQNqikRJzoQ1Go1mqVCSa8Klrq6lCZ5SqfNCK6cFVf5Cptf9qriEOhPWGzfCI4hfwPbzi7ylXufCZgddLBajv3/+/WEvacE5vl5teYmXH/vZ6F9gLgyhDsJmg7cTGAHo6uqipqbGVtlLD8L+EELIo0eP2orWOGkmmBoefmKfq867u7spLy9n/fr1toplhR6Ejx8/zvLly6mvr0+ri1nFJdPnzPQ7d+6cp42RXU67411dXWm1tZs3b7JhwwZP6e3iBTj6Wqj61uSmJJYjysrKuHr1arqxmBw7dozJyUkmJyc5efIkkUiEeFw9ujgwMMC5c+fCcHfRcPjwYcrLy9OxN0VrYH6dJJNJNm3axIoVKwIRUbKr80QiwY0bNzh58iQXLlwgGo1SXV3N8PAwjz/+eN75uiGRSJBIJOjp6Um3Nye/vaa3O26296mpqXR795o+Ho+TSqWYmJiwnOHa+WrVFhoaGti2bRtPPunlfqHGKyUxE7Y4nlMMxRRP0Vdnf7iJvQsbRRHzMcVvMsVpCr0c4UZUx66dPvDAA7YxtIuvXfn9ivlkC16BN7EgB991XwuY0Afhrq4uYrEYg4ODtLe3Mzs7y9q1a3XDKDBCCNnX1zcn7gMDAxw8eBCr4w0NDUSjUW7cuEE8HqetrY3W1lZfg7BdvqVQ504XiWy/7dqpEAKrdm0X34mJCbZu3Wpry0t6mzIB9opqdr7OzMwQi8XSdd7Z2an7WgEI9TnhSCQycuTIEcubNEePHrVsGEIINmzYQCKR8KQEpZlLJBIZicViljfmYrGYaxtB5QvQ398/p757e3tpbm6eN/gXmmw/JiYmWLt2rWVcrNrpmjVrOHLkiKVtp/h6ydcu74mJCSYnJ2lqakrHzM7+wMAAa9eutfXVwncvz0ZrXFKSzwm7+ckZk+rq6lG3aTWli5c6L+Rdeo9+3E6lUp6U0+z89lp+AC99RAghvfQT/SRE8SjJQTgToeQBrwLbgA8B/VLKT4brlaaQCCHage9JKdcLIR4H3i+lPBaCH98A/hElKPQuKeXLc6T/NdTOuM8D/wmstVzbyJ3vQeCPpZR7hBAXgB+XUp5xSF8PXAQagP8L/JWU8m9z5NEPvAx4M3BLSvlRr35qgqEkno7IwWZgXEp5GSUwciBHes3C5xOAOQsLs84PGPl/H9gvcusFm+kvoJb61uWZL6g4fDpH+v3Ak1LKm7iIlxDipcB6lCiR7lMhsxAG4Q9wZ5/+SeAVQohc+/A1C5tf5Y7q2AvALxXbAWOgWgW8IKUcBQTwOof0DcCDwNPG7HcEVQ4/vBs1kINSFHxPjvQf5E4fOQ28VWQ/EzeX/wQekVJOo3QijgghVvn0VZMnpSrgk0kZSscV1JV7EqgKzx1NoZFSnuWOOE0PcDMEN+qBgYzlhPNArUP6GtSyhXmz8jn896+bwCkAKeWJHGkBpJkeFa9Z1EXDcilESjkLfN349yoQRy2jXPXpryYPSn5NWKPRaBYzC2E5QrNIKRXRnlIjqLho0Z6FgZ4Ja0LDbmOETdols1EgqLh4sZPLlqZwlMyacFiqXprw6e7uprGxkZqaGsbHx3nooYe4ePHivHRC/frEHPKtc6fnc63anlN79NpWwf5Z3+yYtLS0sGvXLi5fvmxlSzrl6za+MD/Guk8VnpKZCedS19IqT4sPs87j8TjLli1jamqKhoaGtC5CMercrt3ZKcplai3k21YBW4W0sbGxOTExfHVUVLM7HmZ8NbkpuTVhO9UpJ5WnCxcu2FjTLAR6enp47LHHOHXqFEePHk0ft1Jy27hxY1pZLUi8KMp5PZ5Lgc7KTnZMRkdHHdM7HbeLr+5TpUHJzYQtjpeEsIsmeLwoljnYCGQm7GA75zE3n1mlBXtRHT+KavnacSiT7lMFpGQG4SDWhKurq6+kUqmmwJ3TFAS7AbClpYWREXfaQIVcE66srGR2dnbOMaf2aJXejkgkMnLr1q3K2dnZRqvPvcQlyF/rsLCt+1SBKZlB2AohRIOUMp51rBxYI6UcsDi+TEo5UUwfNf6pqqq6ZjcIZZM92Bayvn20u3nHjc9iUso+i/SWfpv5BhEXoLyysrLXrR0nW7pPFZaSHoQ1S4cMEZqVqJ1bG6WU15b6QGDEZRAVlyvkERchxFOoLdHvJ0Pkx+qioykeJXdjTrNkuR8lQjMD/MD4HynlraU6ABuY4jzTQB/wNvAeFyHEOuBFwH+hRHsOmp/pAThc9CCsKRUOAKZOglb2ukNmXJLAHp92OlBaEil0fEsKPQhrSoWPAuYvW1YCHw7Rl1LiY0AUQEq5X0r5ej9GpJT/JqWsNu6EnkdJc8aCc1Pjl5LZMadZ8vwC8DfG+98D5t3oWqJkxiUQpJQDQohfQce4JNA35jQajSZE9HKERlPCeFVU08p0Cw89E9YUFS3UZI3TppEgduF52aCxGONbyuhBWFNUtFCTNU5xOX78OI2NjVRUVJBMJmlpaUlrWwgh2L59e1qYB9Qg3N3dzfLly6mvr2d8fJydO3cu6fiWMnoQ1hQVrRFijVNcxsbG6OnpYWJigtpa9QtLW7ZsIR6Pk0gkLJXZvvOd77B8+XKuX79ObW2t1osoYfQgrCkquUR7so/HYjFWrlzJ4OAgHR0dpo1FN0gEJWYEzqJAgGWM6+vr6e3tZc+ePYsyvqWMfkRNU3T6+/sRQnDo0CFmZ2eZmJiwPD4wMEAymeTatWtIKTlx4gRtbW0he184rMpvYjdwDgwMsH379nm2stMDHD16lFgsNi+P4WF1f66mpoYTJ9z8rqgmSPRMWFNU9I05a5xuzPX19TE4OEh7e3v6oiWEIBqNcuPGDeLxOG1tbbS2tgLQ1dVFLBabc87+/fu5dOmSK1+qq6tH7XzRBI8ehDWaEsZpcM4m108mZaMH29JAPyes0ZQwyWSyRUopjDXaNcAYqt/2APvMz6SUIplMtmSlLwOuAWuBrwE/m5leD8ClgR6ENZqFwwHgMeMxCjciPO3AlJTyksv0mhDQg7BGs3B4M/BD4/0zwBtzpH8LcMZ4/wPgFYYOsaaE0IOwRrNweAkwY7wfQ2kNO/ETQJXx/hKwGlheGNc0ftE35jSaBYLI2tGR/X++6TXhoAdhjUajCRG9HKHRaDQhogdhjabEsJOjjEQilpKUXo9rWcvSQi9HaDQlhlelOa/HtXJaaaFnwhpNiVJWVsbVq1fTwjx+jx8+fJjy8vL0Z6dPn6ahoYFt27Zx4cKFgpdD44yeCWs0JYZXuU+vx23y1DPhkNAqahpNCdLf3z9PtMfquKm0ZiqkZX5md3xiYoLx8XFaW1vTAkCa8NAzYY2mxPCqNOf1uBVazCc89CCs0Wg0IaJvzGk0Gk2I6EFYo9FoQkQPwhqNRhMiehDWaDSaENGDsEaj0YSIHoQ1Go0mRPQgrNFoNCGiB2GNRqMJET0IazQaTYj8/4tVMCRGsYc+AAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "import pandas as pd\n",
    "from sklearn import tree\n",
    "from sklearn.model_selection import train_test_split\n",
    "\n",
    "\n",
    "# 展示所有的列\n",
    "pd.set_option('display.max_columns', None)\n",
    "\n",
    "data = pd.read_excel('慢性肾病数据.xlsx', engine='openpyxl')[['性别', '遗传性肾脏病病史', '肾移植病史', '肾穿刺活检术史', '高血压病史', '糖尿病病史', '高尿血酸症', '肾脏超声发现构造异常', '尿常规蛋白指标', '尿白蛋白肌酐比', '血肌酐', 'eGFR', 'CKD分层']]\n",
    "\n",
    "\n",
    "# 血肌酐分层\n",
    "# 血肌酐的正常值：男性54.0~133.0μmol/L，女性44.0~97.0μmol/L，肾功能代偿期133~177μmol/L；肾功能失代偿期177~442μmol/L；肾功能衰竭期442~707μmol/L；尿毒症时＞707μmol/L；\n",
    "# 血肌酐<133时，血肌酐=0，133≤血肌酐<177，血肌酐=1，177≤血肌酐<177，血肌酐=1，177≤血肌酐<442，血肌酐=2，442≤血肌酐<707，血肌酐=4，血肌酐≥707，血肌酐=5\n",
    "\n",
    "# EGFR分层\n",
    "# 正常eGFR为≥90 ml/min/1.73m2；若eGFR< 60 ml/min/1.73m2则提示肾功能异常；若eGFR<15 ml/min/1.73m2则提示肾衰竭，需透析或肾移植治疗。\n",
    "# eGFR≥90,eGFR=0,60≤eGFR<90,eGFR=1,15≤eGFR<60,eGFR=2,eGFR＜15,eGFR=3\n",
    "\n",
    "# 尿蛋白肌酐比转换\n",
    "# <30-0 30~300-1 >300-2\n",
    "\n",
    "data = data.dropna()\n",
    "data = data.replace({'男':1,'女':0,'有':1,'无':0,'是':1,'否':0,'阳性':1,'阴性':0,'<30':0,'30~300':1,'>300':2,'低危':0,'中危':1,'高危':2,'极高危':3})\n",
    "#血肌酐替换 血肌酐<133，血肌酐=0，133≤血肌酐<177，血肌酐=1，177≤血肌酐<177，血肌酐=1，177≤血肌酐<442，血肌酐=2，442≤血肌酐<707，血肌酐=4，血肌酐≥707，血肌酐=5\n",
    "data.loc[data['血肌酐'] < 133, '血肌酐'] = 0\n",
    "data.loc[(data['血肌酐'] < 177) & (data['血肌酐'] >= 133), '血肌酐'] = 1\n",
    "data.loc[(data['血肌酐'] < 442) & (data['血肌酐'] >= 177), '血肌酐'] = 2\n",
    "data.loc[(data['血肌酐'] < 707) & (data['血肌酐'] >= 442), '血肌酐'] = 3\n",
    "data.loc[data['血肌酐'] >= 707, '血肌酐'] = 4\n",
    "#eGFR替换 eGFR≥90,eGFR=0,60≤eGFR<90,eGFR=1,15≤eGFR<60,eGFR=2,eGFR＜15,eGFR=3\n",
    "data.loc[data['eGFR'] < 15, 'eGFR'] = 3\n",
    "data.loc[(data['eGFR'] < 60) & (data['eGFR'] >= 15), '血肌酐'] = 2\n",
    "data.loc[(data['eGFR'] < 90) & (data['eGFR'] >= 177), '血肌酐'] = 1\n",
    "data.loc[data['血肌酐'] >= 707, '血肌酐'] = 0\n",
    "data_sample = data[['性别', '遗传性肾脏病病史', '肾移植病史', '肾穿刺活检术史', '高血压病史', '糖尿病病史', '高尿血酸症', '肾脏超声发现构造异常', '尿常规蛋白指标', '尿白蛋白肌酐比', '血肌酐', 'eGFR']]\n",
    "data_target = data['CKD分层']\n",
    "print(data_sample)\n",
    "print(data_target)\n",
    "\n",
    "# 拆分训练集测试集\n",
    "Xtrain, Xtest, Ytrain, Ytest = train_test_split(data_sample, data_target, test_size=0.3)\n",
    "print(Xtrain.shape)\n",
    "print(Xtest.shape)\n",
    "\n",
    "# 建立模型\n",
    "clf = tree.DecisionTreeClassifier(criterion=\"entropy\")\n",
    "clf = clf.fit(Xtrain, Ytrain)\n",
    "score = clf.score(Xtest, Ytest)\n",
    "print(score)\n",
    "\n",
    "feature_name = ['性别', '遗传性肾脏病病史', '肾移植病史', '肾穿刺活检术史', '高血压病史', '糖尿病病史', '高尿血酸症', '肾脏超声发现构造异常', '尿常规蛋白指标', '尿白蛋白肌酐比', '血肌酐', 'eGFR']\n",
    "\n",
    "from sklearn.tree import plot_tree\n",
    "\n",
    "print(tree.plot_tree(clf))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.8.8"
  },
  "toc": {
   "base_numbering": 1,
   "nav_menu": {},
   "number_sections": true,
   "sideBar": true,
   "skip_h1_title": false,
   "title_cell": "Table of Contents",
   "title_sidebar": "Contents",
   "toc_cell": false,
   "toc_position": {},
   "toc_section_display": true,
   "toc_window_display": false
  }
 },
 "nbformat": 4,
 "nbformat_minor": 1
}